@erhan/utopyatv 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/assets/index-BbjWvXnr.js +15 -0
- package/app/index.html +1 -1
- package/package.json +1 -1
- package/app/assets/index-wxe7pwbC.js +0 -15
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
(function(){var e=document.createElement(`style`);e.textContent=`:root{--bg:#070c18;--bg-top:#0d1830;--surface:#111c33;--surface-variant:#1a2947;--on-bg:#e8edf5;--on-surface-variant:#a3b1c9;--accent:#4fc3f7;--accent-rgb:79, 195, 247;--live:#e53935;--error:#ff6b6b;--glass:rgba(17,28,51,.72)}html{font-size:1.04167vw;font-size:min(1.04167vw,1.85185vh)}html,body{height:100%;color:var(--on-bg);-webkit-font-smoothing:antialiased;background:0 0;margin:0;font-family:SamsungOne,Tizen Sans,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}*{box-sizing:border-box}::-webkit-scrollbar{display:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}[data-focus]:focus{outline:none}h1,h2,p{margin:0}.muted{color:var(--on-surface-variant)}.row{align-items:center;display:flex}.row>*+*{margin-left:1.2rem}.app{z-index:1;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#video{position:absolute;top:0;bottom:0;left:0;right:0}.backdrop{z-index:-1;background:radial-gradient(circle at 10% 0, rgba(var(--accent-rgb), .13), transparent 55vw), radial-gradient(circle at 100% 100%, rgba(124,77,255,.1), transparent 50vw), linear-gradient(var(--bg-top), var(--bg));background-size:100vw 100vh;position:absolute;transform:translateZ(0)}.glass{background:var(--glass);border:.1rem solid rgba(255,255,255,.06);border-radius:2rem}.icon{width:2.2rem;height:2.2rem;display:block}.topbar{flex:none;align-items:center;margin:1.8rem 4.8rem 0;padding:.8rem 1.6rem;display:flex}.brand{background:linear-gradient(90deg, #fff, var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;flex:1;font-size:2.2rem;font-weight:900}.pills{align-items:center;display:flex}.pill{color:var(--on-surface-variant);white-space:nowrap;border:.1rem solid transparent;border-radius:10rem;margin-left:.2rem;padding:.7rem 1.2rem;font-size:1.6rem;font-weight:500}.pill.icon-only{padding:.6rem 1rem}.pill.selected{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .5);color:var(--accent)}.pill:focus{background:var(--on-bg);color:var(--surface)}.content{flex:1;min-height:0;padding:2.4rem 4.8rem 2.7rem;overflow:auto}.placeholder h1{margin-bottom:1rem;font-size:3.4rem;font-weight:700}.placeholder p{font-size:1.8rem}.scrim{background:rgba(0,0,0,.6);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{background:var(--surface);width:48rem;padding:2.8rem 3.2rem}.dialog h2{margin-bottom:1rem;font-size:2.4rem}.dialog p{color:var(--on-surface-variant);margin-bottom:2.4rem;font-size:1.8rem}.btn{background:var(--surface-variant);border-radius:10rem;padding:.9rem 2.2rem;font-size:1.6rem;font-weight:500}.btn:focus{background:var(--on-bg);color:var(--surface)}.btn{align-items:center;display:inline-flex}.btn .icon{width:2rem;height:2rem;margin-right:.8rem}.btn.primary{background:var(--accent);color:#00121c}.btn.outline{background:0 0;border:.1rem solid rgba(255,255,255,.25)}.btn:focus,.btn.primary:focus,.btn.outline:focus{background:var(--on-bg);color:var(--surface);border-color:var(--on-bg)}.chip{border:.1rem solid rgba(255,255,255,.2);border-radius:10rem;padding:.6rem 1.6rem;font-size:1.5rem}.chip.selected{background:rgba(var(--accent-rgb), .18);border-color:var(--accent);color:var(--accent)}.chip:focus{background:var(--on-bg);color:var(--surface)}.field{margin-bottom:1.4rem;display:block}.field-label{color:var(--on-surface-variant);margin-bottom:.6rem;font-size:1.4rem;display:block}.field-box{background:var(--surface-variant);border:.2rem solid transparent;border-radius:1.2rem}.field-box:focus{border-color:var(--accent)}.field-box input:focus{background:rgba(var(--accent-rgb), .12)}.field-box input{width:100%;color:var(--on-bg);font:inherit;background:0 0;border:0;border-radius:1rem;outline:none;padding:1rem 1.4rem;font-size:1.7rem;display:block}.field-box input::-webkit-input-placeholder{color:rgba(163,177,201,.6)}.field-pair{display:flex}.field-pair>.field{flex:1}.field-pair>.field+.field{margin-left:1.6rem}.error-box{background:rgba(255,82,82,.2);border-radius:1.2rem;margin-bottom:1.4rem;padding:1.6rem;font-size:1.7rem}.error-text{color:var(--error);font-size:2.2rem}.onboarding{flex-direction:column;flex:1;min-height:0;padding:2.7rem 4.8rem;display:flex}.center-msg{margin:auto;font-size:2.2rem}.onb-choose{flex:1;align-items:center;display:flex}.onb-brand{flex:.9;margin-right:5.6rem}.brand-mark{background:linear-gradient(135deg, var(--accent), #0288d1);color:#fff;border-radius:1.8rem;justify-content:center;align-items:center;width:7.2rem;height:7.2rem;display:flex}.brand-mark .icon{width:4.3rem;height:4.3rem}.onb-brand h1{margin-top:2.4rem;font-size:4.8rem;font-weight:900}.tagline{margin-top:.8rem;font-size:2.2rem}.features{margin:3.6rem 0 0;padding:0;list-style:none}.features li{align-items:center;margin-bottom:1.6rem;font-size:1.8rem;display:flex}.feature-icon{background:rgba(var(--accent-rgb), .14);width:4rem;height:4rem;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:1.6rem;display:flex}.note{margin-top:2rem;font-size:1.4rem}.onb-options{flex:1.1;max-height:100%;margin:-1.2rem -1.6rem;padding:1.2rem 1.6rem;overflow:auto}.onb-options h2{margin:0 0 .6rem .4rem;font-size:2.2rem;font-weight:600}.option{text-align:left;background:rgba(17,28,51,.75);border:.2rem solid transparent;border-radius:1.6rem;align-items:center;width:100%;margin-top:.8rem;padding:.9rem 1.8rem;transition:transform .12s ease-out;display:flex}.option:focus{background:var(--surface-variant);border-color:var(--accent);transform:scale(1.03)}.option-icon{border-radius:1.2rem;flex:none;justify-content:center;align-items:center;width:4.4rem;height:4.4rem;display:flex}.option-icon .icon{width:2.6rem;height:2.6rem}.option-text{flex:1;min-width:0;margin-left:1.6rem;font-size:1.4rem}.option-text>span{display:block}.option-title{margin-bottom:.2rem;font-size:1.8rem;font-weight:500}.badge{border-radius:10rem;margin-left:1rem;padding:.2rem 1rem;font-size:1.2rem}.step-header{flex:none;align-items:center;display:flex}.step-header>div{margin-left:2.4rem}.step-header h1{font-size:2.8rem;font-weight:600}.step-header p{font-size:1.6rem}.form-step{flex-direction:column;flex:1;min-height:0;display:flex}.form-row{flex:1;min-height:0;margin-top:2rem;display:flex}.form-panel{flex:1;padding:2.2rem 2.8rem;overflow:auto}.form-panel h3{margin:0 0 1rem;font-size:1.6rem;font-weight:500}.connect{margin:.4rem 0 1.8rem}.file-chosen{margin-bottom:1.4rem;font-size:1.7rem}.form-side{flex:none;width:34rem;margin-left:2.8rem}.usb-list{flex:1;margin-top:2rem;padding:1.6rem 2.2rem;font-size:1.7rem;overflow:auto}.sync-step{text-align:center;margin:auto}.sync-step h1{margin-bottom:2.4rem;font-size:2.8rem;font-weight:600}.sync-step .stage{font-size:2.2rem}.sync-step .row{justify-content:center;margin-top:2.4rem}.sync-step>.btn{margin-top:3.2rem}.indeterminate{background:var(--surface-variant);border-radius:.3rem;width:48rem;height:.6rem;margin:2rem auto 0;overflow:hidden}.indeterminate span{background:var(--accent);width:40%;height:100%;animation:1.2s ease-in-out infinite indeterminate;display:block}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.focus-row{text-align:left;border:.3rem solid transparent;border-radius:1rem;align-items:center;width:100%;padding:.8rem 1.2rem;transition:transform .1s ease-out;display:flex}.focus-row>*+*{margin-left:1rem}.focus-row.idle{background:rgba(26,41,71,.45)}.focus-row.selected{background:var(--surface-variant)}.focus-row:focus{background:var(--surface-variant);border-color:var(--accent);transform:scale(1.03)}.channel-logo{background:rgba(255,255,255,.13);border-radius:.6rem;flex:none;justify-content:center;align-items:center;padding:.3rem;display:inline-flex;overflow:hidden}.channel-logo img{max-width:100%;max-height:100%}.marquee{white-space:nowrap;text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.marquee>span.run{animation:linear infinite alternate marquee;display:inline-block}@keyframes marquee{0%,15%{transform:translate(0)}85%,to{transform:translateX(var(--marquee))}}.fav-star{color:#ffb74d;flex:none;width:1.4rem;height:1.4rem;margin-left:.6rem}.fav-star.big{width:2.2rem;height:2.2rem}.content.live-content{padding-top:2.4rem}.live-screen{height:100%;display:flex}.live-screen>*+*{margin-left:1.2rem}.live-cats{flex-direction:column;flex:none;width:19rem;padding:1rem;display:flex}.live-cats.wide{width:27rem}.group-mode{text-align:left;border:.2rem solid transparent;border-radius:1rem;flex:none;justify-content:space-between;align-items:center;margin-bottom:.8rem;padding:.6rem .8rem;display:flex}.group-mode:focus{background:var(--surface-variant);border-color:var(--accent)}.group-mode>span>span{display:block}.gm-title{font-size:1.8rem;font-weight:500}.gm-value{color:var(--accent);white-space:nowrap;font-size:1.4rem}.cat-list{flex:1;min-height:0;margin:-.6rem -1rem;padding:.6rem 1rem;overflow:auto}.cat-row{margin-bottom:.4rem;font-size:1.6rem;font-weight:500}.cat-row.selected .cat-name{color:var(--accent)}.cat-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cat-icon{flex:none;width:1.6rem;height:1.6rem}.platform-badge{flex:none;align-items:center;width:5.4rem;height:1.8rem;display:inline-flex}.platform-badge img{max-width:100%;max-height:100%}.platform-badge b{white-space:nowrap;font-size:1.2rem}.tint-white{filter:brightness(0)invert()}.live-channels{flex-direction:column;flex:1;min-width:0;padding:1rem;display:flex}.panel-title{padding:.4rem .8rem 1rem}.panel-title h2{font-size:1.8rem;font-weight:500}.panel-title span{font-size:1.4rem}.empty{margin:auto;font-size:1.8rem}.channel-list{flex:1;min-height:0;margin:0 -1.2rem;padding:0 1.2rem;position:relative;overflow:hidden}.channel-list-inner{position:relative}.channel-row{height:6.8rem;position:absolute;left:0;right:0}.channel-row.compact{height:5.6rem}.ch-number{width:4.4rem;color:var(--on-surface-variant);flex:none;font-size:1.6rem;font-weight:500}.channel-row.compact .ch-number{width:4rem}.channel-row.selected .ch-number{color:var(--accent)}.ch-logo-box{background:rgba(255,255,255,.07);border-radius:1rem;flex:none;justify-content:center;align-items:center;width:6.4rem;height:4.8rem;display:flex}.ch-text{flex:1;min-width:0}.ch-name{align-items:center;font-size:1.6rem;font-weight:500;display:flex}.live-preview{background:0 0;flex:none;width:30rem;padding:1.4rem;position:relative;overflow:hidden}.preview-label{color:var(--accent);margin-bottom:1rem;font-size:1.6rem;font-weight:500;display:block}.preview-box{height:15.19rem;box-shadow:0 0 0 100rem var(--glass);background:#000;border-radius:1.2rem;justify-content:center;align-items:center;display:flex}.preview-box.hole{background:0 0}.preview-name{margin-top:1.4rem;margin-bottom:1rem;font-size:2.2rem;font-weight:600}.live-preview p{font-size:1.4rem}.toast{z-index:50;background:rgba(8,11,16,.9);border-radius:2.4rem;padding:1rem 2.2rem;font-size:1.6rem;font-weight:500;position:fixed;top:4rem;left:50%;transform:translate(-50%)}.menu-dialog{background:var(--surface);border-radius:1.6rem;width:52rem;padding:2.4rem}.menu-dialog h2{margin-bottom:1.4rem;font-size:2.4rem;font-weight:600}.menu-list{max-height:48rem;margin:-.4rem -1.2rem;padding:.4rem 1.2rem;overflow:auto}.menu-item{text-align:left;border:.3rem solid transparent;border-radius:1rem;justify-content:space-between;align-items:center;width:100%;margin-bottom:.4rem;padding:1rem 1.2rem;font-size:1.8rem;font-weight:500;transition:transform .1s ease-out;display:flex}.menu-item:focus{background:var(--surface-variant);border-color:var(--accent);transform:scale(1.03)}.menu-item .icon{color:var(--accent)}.number-box{color:var(--accent);z-index:40;background:rgba(0,0,0,.8);border-radius:1.2rem;padding:1.4rem 2.8rem;font-size:3.4rem;font-weight:700;position:fixed;top:4rem;right:4.8rem}.player{position:absolute;top:0;bottom:0;left:0;right:0}.player-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.spinner{border:.5rem solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);border-bottom-color:var(--accent);border-radius:50%;width:5.6rem;height:5.6rem;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.retry-label{background:rgba(8,11,16,.9);border-radius:.8rem;margin-top:1.2rem;padding:.4rem 1rem;font-size:1.6rem}.paused-icon{width:7.2rem;height:7.2rem}.error-card{text-align:center;background:rgba(8,11,16,.9);border-radius:1.6rem;width:56rem;padding:2.8rem}.error-card .error-icon{width:4.8rem;height:4.8rem;color:var(--error);margin:0 auto 1.2rem}.error-card p{margin-bottom:2rem;font-size:1.8rem;font-weight:500}.error-card .row{justify-content:center}.info-band{background:linear-gradient(transparent,rgba(5,8,12,.8) 40%,rgba(5,8,12,.95));padding:5.6rem 4.8rem 2.7rem;animation:.2s ease-out band-in;position:absolute;bottom:0;left:0;right:0}@keyframes band-in{0%{opacity:0;transform:translateY(33%)}to{opacity:1;transform:none}}.band-row{align-items:flex-start;display:flex}.band-left{flex-direction:column;flex:none;align-items:flex-start;display:flex}.band-number{color:var(--accent);margin-bottom:.6rem;font-size:3.4rem;font-weight:700}.band-mid{flex:1;min-width:0;margin-left:2.4rem}.band-title{align-items:center;display:flex}.band-title>*+*{margin-left:1rem}.band-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:2.8rem;font-weight:600;overflow:hidden}.badge-sm{background:rgba(255,255,255,.2);border-radius:.6rem;flex:none;padding:.2rem .8rem;font-size:1.4rem}.badge-sm.live{background:var(--live)}.band-program{margin-top:.8rem;font-size:1.8rem}.band-hint{color:rgba(255,255,255,.6);margin-top:1rem;font-size:1.2rem}.band-clock{flex:none;margin-left:2.4rem;font-size:2.2rem;font-weight:600}.control-bar{justify-content:center;margin-top:2rem;display:flex}.cb-item{flex-direction:column;align-items:center;width:7.6rem;margin:0 .7rem;display:flex}.cb-btn{background:rgba(255,255,255,.14);border-radius:50%;justify-content:center;align-items:center;width:5.6rem;height:5.6rem;transition:transform .1s ease-out;display:flex}.cb-btn .icon{width:2.6rem;height:2.6rem}.cb-btn.active{background:rgba(var(--accent-rgb), .35)}.cb-btn:focus{color:#000;background:#fff;transform:scale(1.12)}.cb-label{color:rgba(255,255,255,.87);text-align:center;white-space:nowrap;margin-top:.6rem;font-size:1.4rem}.list-overlay{background:linear-gradient(90deg,rgba(8,11,16,.9),rgba(8,11,16,.9) 88%,transparent);flex-direction:column;width:48rem;padding:2.7rem 6.4rem 2.7rem 4.8rem;animation:.2s ease-out slide-left;display:flex;position:absolute;top:0;bottom:0;left:0}.list-overlay h2{margin-bottom:1rem;font-size:1.8rem;font-weight:500}@keyframes slide-left{0%{opacity:0;transform:translate(-25%)}to{opacity:1;transform:none}}.options-panel{background:linear-gradient(270deg,rgba(8,11,16,.9),rgba(8,11,16,.9) 88%,transparent);width:42rem;padding:4rem 4.8rem 4rem 5.6rem;animation:.2s ease-out slide-right;position:absolute;top:0;bottom:0;right:0;overflow:auto}@keyframes slide-right{0%{opacity:0;transform:translate(25%)}to{opacity:1;transform:none}}.options-panel h2{margin-bottom:1.6rem;font-size:2.4rem;font-weight:600}.opt-row{justify-content:space-between;margin-bottom:.4rem}.opt-text{flex:1;min-width:0}.opt-text>span{display:block}.opt-label{font-size:1.6rem;font-weight:500}.opt-value{color:var(--accent);font-size:1.4rem}.progress-line{background:rgba(255,255,255,.27);border-radius:.2rem;height:.4rem;display:block;overflow:hidden}.progress-line>span{background:var(--accent);height:100%;display:block}.ch-program{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem;display:block;overflow:hidden}.ch-progress{width:60%;margin-top:.3rem}.program-block{margin-bottom:1.2rem}.program-block>span{display:block}.pb-label{color:var(--accent);font-size:1.4rem}.pb-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.6rem;font-weight:500;display:-webkit-box;overflow:hidden}.pb-progress{margin:.4rem 0}.pb-desc{color:var(--on-surface-variant);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:1.4rem;display:-webkit-box;overflow:hidden}.band-time{color:var(--accent);margin-right:1.2rem;font-size:1.6rem;font-weight:500}.band-progress{align-items:center;margin-top:.6rem;display:flex}.band-progress .progress-line{flex:1}.band-progress>span:last-child{margin-left:1.2rem;font-size:1.4rem}.band-next{margin-top:.6rem;font-size:1.6rem}.guide{flex-direction:column;height:100%;display:flex}.guide-head{flex:none;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.guide-head h1{font-size:2.2rem;font-weight:600}.guide-head .row>*+*{margin-left:1rem}.guide-hint{color:var(--on-surface-variant);flex:none;margin-top:.6rem;font-size:1.2rem}.epg-grid{--epg-ch:19.4rem;flex-direction:column;flex:1;min-height:0;display:flex}.epg-header{height:3.2rem;margin-left:var(--epg-ch);flex:none;position:relative}.epg-header span{color:var(--on-surface-variant);padding-left:.6rem;font-size:1.6rem;font-weight:500;position:absolute;top:.6rem}.epg-body{flex:1;min-height:0;position:relative;overflow:hidden}.epg-row{margin-top:.2rem;display:flex;position:absolute;left:0;right:0}.epg-channel{background:var(--surface);text-align:left;border:.2rem solid transparent;border-radius:.8rem;flex:none;align-items:center;width:19rem;margin-right:.4rem;padding:0 .8rem;display:flex}.epg-channel:focus{background:var(--surface-variant);border-color:var(--accent)}.epg-num{width:3.6rem;color:var(--on-surface-variant);flex:none;font-size:1.4rem}.epg-chname{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;padding-left:.8rem;font-size:1.6rem;display:-webkit-box;overflow:hidden}.epg-programs{flex:1;position:relative}.epg-cell{background:var(--surface);text-align:left;background-clip:padding-box;border:.2rem solid transparent;border-right-width:.5rem;border-radius:.8rem;padding:.4rem .8rem;position:absolute;top:0;bottom:0;overflow:hidden}.epg-cell.live{background-color:#1e3446}.epg-cell:focus{background-color:var(--accent);color:#00121c;border-color:var(--accent)}.epg-title{white-space:nowrap;text-overflow:ellipsis;font-size:1.6rem;display:block;overflow:hidden}.epg-time{opacity:.8;font-size:1.2rem;display:block}.epg-now{background:var(--live);pointer-events:none;width:.2rem;position:absolute;top:0;bottom:0}.guide-overlay{background:linear-gradient(transparent,rgba(5,8,12,.85) 8%,rgba(5,8,12,.95));flex-direction:column;height:62%;padding:3.6rem 4.8rem 2rem;animation:.2s ease-out band-in;display:flex;position:absolute;bottom:0;left:0;right:0}.epg-grid.translucent .epg-channel,.epg-grid.translucent .epg-cell{background-color:rgba(21,27,35,.6)}.epg-grid.translucent .epg-cell.live{background-color:rgba(30,52,70,.75)}.epg-grid.translucent .epg-cell:focus{background-color:var(--accent)}.program-dialog{background:var(--surface);border-radius:1.6rem;width:64rem;padding:2.4rem}.program-dialog h2{font-size:2.4rem;font-weight:600}.pd-meta{color:var(--accent);margin-top:.6rem;font-size:1.6rem;font-weight:500}.pd-cat{color:var(--on-surface-variant);font-size:1.4rem}.pd-desc{max-height:22rem;margin-top:1.2rem;font-size:1.8rem;overflow:auto}.pd-buttons{flex-wrap:wrap;margin-top:2rem}.page{position:absolute;top:0;bottom:0;left:0;right:0}.vod-home>.shelf+.shelf{margin-top:2rem}.shelf-title{align-items:center;padding:0 0 .2rem 1.6rem;font-size:2.2rem;font-weight:600;display:flex}.shelf-logo{align-items:center;width:7.8rem;height:2.6rem;margin-right:1rem;display:inline-flex}.shelf-logo img,.shelf-logo b{max-width:100%;max-height:100%}.shelf-row{padding:1.2rem 1.6rem;display:flex;position:relative;overflow:hidden}.shelf-row>*{flex:none}.shelf-row>*+*{margin-left:1.6rem}.poster-card{background:var(--surface-variant);text-align:left;border:.1rem solid rgba(255,255,255,.08);border-radius:1.4rem;width:13rem;height:19.5rem;transition:transform .12s ease-out;position:relative;overflow:hidden}.poster-card:focus{border:.3rem solid var(--accent);transform:scale(1.08)}.poster-card img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.poster-progress{background:rgba(255,255,255,.27);height:.4rem;position:absolute;bottom:0;left:0;right:0}.poster-progress>span{background:var(--accent);height:100%;display:block}.poster-card.see-all{text-align:center;justify-content:center;align-items:center;font-size:1.6rem;font-weight:500;display:flex}.genre-chip{align-self:center}.platform-tile{background:#000;border:.3rem solid transparent;border-radius:1.2rem;width:26rem;height:14.6rem;transition:transform .12s ease-out;position:relative;overflow:hidden}.shelf-row>.platform-tile+.platform-tile{margin-left:1.8rem}.platform-tile:focus{border-color:#fff;transform:scale(1.08)}.pt-collage{display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.pt-collage img{object-fit:cover;flex:1;min-width:0;height:100%}.pt-shade,.pt-logo{position:absolute;top:0;bottom:0;left:0;right:0}.pt-logo{justify-content:center;align-items:center;display:flex}.pt-logo img{max-width:18rem;max-height:5.6rem}.pt-logo img.own-color{border-radius:.6rem}.pt-logo b{color:#fff;font-size:2.6rem;font-weight:900}.browse{flex-direction:column;height:100%;padding:2.4rem 4.8rem 2.7rem;display:flex}.browse-logo{align-items:center;width:8.8rem;height:2.4rem;display:inline-flex}.browse-logo img{max-width:100%;max-height:100%}.spacer{flex:1}.browse-grid{flex-wrap:wrap;flex:1;align-content:flex-start;min-height:0;margin:0 -1.2rem;padding:1.2rem;display:flex;overflow:auto}.grid-cell{flex:none;margin:0 1.8rem 1.8rem 0}.browse-grid{margin:0 -1.6rem 0 .2rem}.browse-grid .poster-card.plain{width:var(--cw);height:calc(var(--cw) * 1.5)}.browse-grid .wide-card{width:var(--cw);height:calc(var(--cw) * .5625)}.browse-info{flex:none;padding-left:1.4rem}.detail{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.detail-backdrop{background:var(--bg);position:absolute;top:0;bottom:0;left:0;right:0}.detail-backdrop img{object-fit:cover;width:100%;height:100%}.detail-backdrop span{position:absolute;top:0;bottom:0;left:0;right:0}.db-h{background:linear-gradient(90deg,rgba(7,12,24,.95),rgba(7,12,24,.75) 40%,rgba(7,12,24,.1))}.db-v{background:linear-gradient(transparent 55%, var(--bg))}.detail-scroll{padding:3.5rem 4.8rem 2.7rem;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.detail-scroll.series{padding:6rem 4.8rem 4rem}.back-btn{margin-bottom:1.6rem}.detail-row{display:flex}.detail-poster{background:var(--surface-variant);border:.1rem solid rgba(255,255,255,.12);border-radius:1.6rem;flex:none;width:22rem;height:33rem;margin-right:3.2rem;overflow:hidden}.detail-poster img{object-fit:cover;width:100%;height:100%}.detail-info{flex:1;min-width:0}.detail-info h1{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:3.4rem;font-weight:700;display:-webkit-box;overflow:hidden}.meta-chips{flex-wrap:wrap;margin-top:1.2rem;display:flex}.meta-chip{background:rgba(255,255,255,.1);border-radius:.8rem;margin:0 .8rem .8rem 0;padding:.4rem 1rem;font-size:1.6rem;font-weight:500}.meta-chip.gold{color:#ffc94d;background:rgba(255,201,77,.2)}.detail-plot{-webkit-line-clamp:5;-webkit-box-orient:vertical;margin-top:1.4rem;font-size:1.8rem;display:-webkit-box;overflow:hidden}.detail-credit{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.6rem;font-size:1.6rem;display:-webkit-box;overflow:hidden}.detail-actions{flex-wrap:wrap;margin-top:2.2rem;display:flex}.detail-actions>*{margin:0 1.2rem 1.2rem 0}.detail .shelf{margin-top:2.4rem;margin-left:-1.6rem}.season-chips{margin:2.8rem 0 .8rem;display:flex}.season-chips>*+*{margin-left:1rem}.season-gap{height:2.4rem}.episode-list{margin:0 -1rem;padding:0 1rem}.episode-row{margin:.3rem 0}.ep-thumb{background:var(--surface-variant);border-radius:.8rem;flex:none;width:12.8rem;height:7.2rem;position:relative;overflow:hidden}.ep-thumb img{object-fit:cover;width:100%;height:100%}.ep-text{flex:1;min-width:0}.ep-text>span{display:block}.ep-title{white-space:nowrap;text-overflow:ellipsis;font-size:1.6rem;font-weight:500;overflow:hidden}.ep-plot{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.4rem;display:-webkit-box;overflow:hidden}.ep-min{flex:none;font-size:1.4rem}.ep-watched{color:var(--accent);flex:none}.vod-top{background:linear-gradient(rgba(5,8,12,.8),transparent);justify-content:space-between;align-items:flex-start;padding:2.7rem 4.8rem 4rem;display:flex;position:absolute;top:0;left:0;right:0}.vod-top h1{font-size:2.8rem;font-weight:600}.vod-top p{color:var(--on-surface-variant);font-size:1.6rem}.vod-bottom{background:linear-gradient(transparent,rgba(5,8,12,.9));padding:4.8rem 4.8rem 2.7rem;position:absolute;bottom:0;left:0;right:0}.vod-bar-row{align-items:center;display:flex}.vod-bar-row>*+*{margin-left:1.4rem}.vod-state{width:3.6rem;height:3.6rem}.vod-time{font-size:1.6rem;font-weight:500}.vod-bar{background:rgba(255,255,255,.27);border-radius:.3rem;flex:1;height:.6rem;position:relative;overflow:hidden}.vod-bar span{position:absolute;top:0;bottom:0;left:0}.vod-buffer{background:rgba(255,255,255,.4)}.vod-played{background:var(--accent)}.vod-bottom .control-bar{margin-top:1.8rem}.episodes-panel{background:linear-gradient(90deg,rgba(8,11,16,.9),rgba(8,11,16,.9) 88%,transparent);width:50rem;padding:2.7rem 6.4rem 2.7rem 4.8rem;animation:.2s ease-out slide-left;position:absolute;top:0;bottom:0;left:0;overflow:auto}.episodes-panel h2{margin-bottom:1.4rem;font-size:2.4rem;font-weight:600}.ep-code{color:var(--accent);flex:none;font-size:1.6rem;font-weight:500}.next-card{background:rgba(8,11,16,.9);border-radius:1.4rem;width:38rem;padding:2rem;position:absolute;bottom:4.8rem;right:4.8rem}.next-when{color:var(--accent);font-size:1.8rem;font-weight:500}.next-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.6rem 0 1.4rem;font-size:1.8rem;display:-webkit-box;overflow:hidden}.home{flex-direction:column;height:100%;display:flex}.home-head{flex:none;align-items:flex-end;padding:0 1.6rem .4rem;display:flex}.home-head h1{font-size:2.4rem;font-weight:600}.home-head .muted{white-space:pre;padding-bottom:.2rem;font-size:1.6rem;font-weight:500}.home-shelves{flex:1;min-height:0;padding-bottom:4.8rem;overflow:auto}.home-block+.home-block,.home-block>.shelf+.shelf{margin-top:2.2rem}.home-empty{padding:4rem 1.6rem;font-size:1.8rem;font-weight:500}.hero{background:var(--surface-variant);border-radius:2rem;height:30rem;margin:.4rem 1.6rem 0;position:relative;overflow:hidden}.hero>img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.45) 55%,transparent);position:absolute;top:0;bottom:0;left:0;right:0}.hero-content{flex-direction:column;justify-content:center;width:55%;padding:3.2rem;display:flex;position:absolute;top:0;bottom:0;left:0}.hero-label{color:var(--accent);font-size:1.6rem;font-weight:500}.hero h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.4rem;font-size:2.8rem;font-weight:600;display:-webkit-box;overflow:hidden}.hero-meta{color:var(--on-surface-variant);white-space:pre;margin-top:.6rem;font-size:1.6rem;font-weight:500}.hero-plot{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.8rem;font-size:1.6rem;display:-webkit-box;overflow:hidden}.hero-actions{margin-top:1.6rem}.channel-tile{flex-direction:column;width:18rem;display:flex}.ct-card{background:var(--surface-variant);border:.3rem solid transparent;border-radius:1.4rem;justify-content:center;align-items:center;width:18rem;height:10.1rem;padding:1.4rem;transition:transform .12s ease-out;display:flex}.ct-card:focus{border-color:var(--accent);transform:scale(1.08)}.ct-card .channel-logo{background:0 0}.ct-name-big{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.6rem;font-weight:500;display:-webkit-box;overflow:hidden}.ct-name,.ct-program{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ct-name{color:var(--on-surface-variant);margin-top:.6rem;font-size:1.4rem}.ct-program{font-size:1.6rem;font-weight:500}.ct-progress{margin-top:.4rem}.program-tile{background:var(--surface-variant);text-align:left;border:.3rem solid transparent;border-radius:1.4rem;align-items:flex-start;width:28rem;height:12.8rem;padding:1.4rem;transition:transform .12s ease-out;display:flex}.program-tile:focus{border-color:var(--accent);transform:scale(1.06)}.pt-logo-box{flex:none;justify-content:center;align-items:center;width:5.6rem;height:5.6rem;margin-right:1.2rem;display:flex}.pt-text{flex:1;min-width:0}.pt-text>span{display:block}.pt-time{color:var(--accent);font-size:1.6rem;font-weight:500}.pt-badge{background:var(--live);color:#fff;border-radius:.4rem;margin-left:.8rem;padding:.1rem .6rem;font-size:1.2rem}.pt-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.4rem;font-size:1.6rem;font-weight:500;display:-webkit-box;overflow:hidden}.pt-channel{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem;overflow:hidden}.pin-dialog{background:var(--surface);text-align:center;border-radius:1.6rem;width:42rem;padding:2.4rem}.pin-dialog h2{font-size:2.2rem;font-weight:600}.pin-dots{letter-spacing:.6rem;margin-top:1.2rem;font-size:3.4rem}.pin-error{color:var(--error);padding:.8rem 0;font-size:1.6rem}.pin-pad{flex-wrap:wrap;justify-content:center;width:24.8rem;margin:0 auto;display:flex}.pin-key{justify-content:center;width:7.2rem;height:5.6rem;margin:.4rem;font-size:2.2rem}.pin-pad .pin-key:last-child{margin-right:8.4rem}.preview-lock{width:4rem;height:4rem}.epg-mapping{height:100%;padding:2.7rem 4.8rem;display:flex}.em-left{flex:none;width:32rem;margin-right:3.2rem}.em-left h1{margin-top:1.2rem;font-size:2.8rem;font-weight:600}.em-channel{color:var(--accent);margin-top:.8rem;font-size:2.2rem;font-weight:600}.em-filter{margin-top:2.4rem}.em-list{flex:1;margin:-.4rem -1.2rem;padding:.4rem 1.2rem;overflow:auto}.em-auto{color:var(--accent);font-size:1.6rem;font-weight:500}.em-id{font-size:1.4rem}.search>*+*{margin-top:1.8rem}.search-row{padding:0 1.6rem}.history-row{align-items:center}.search-empty{padding:0 1.6rem;font-size:1.8rem;font-weight:500}.search-programs{padding:0 1.6rem}.search-programs .shelf-title{margin-bottom:.6rem;padding-left:0}.search-prog{margin-bottom:.4rem}.sp-time{text-align:right;width:18rem;color:var(--on-surface-variant);flex:none;font-size:1.4rem}.sp-time.live{color:var(--accent)}.settings{height:100%;display:flex}.set-sections{flex:none;width:24rem;margin-left:-1rem;margin-right:2.4rem;padding:.4rem 1rem;overflow:auto}.set-section{margin-bottom:.4rem;font-size:1.6rem;font-weight:500}.set-section .icon{flex:none}.set-section.selected .icon{color:var(--accent)}.set-panel{flex:1;min-width:0;padding:2rem 2.8rem;overflow:auto}.set-panel h2{margin-bottom:.8rem;font-size:2.4rem;font-weight:600}.set-row{margin-bottom:.4rem}.set-sub{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.4rem;display:-webkit-box;overflow:hidden}.set-value{max-width:40%;color:var(--accent);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:1.6rem;font-weight:500;overflow:hidden}.set-header{color:var(--on-surface-variant);padding:1.8rem 1.2rem .6rem;font-size:1.6rem;font-weight:500}.set-hint{color:var(--on-surface-variant);padding:1.6rem 1.2rem;font-size:1.6rem}.set-about h3{font-size:2.8rem;font-weight:600}.set-about p{margin-top:.6rem;font-size:1.6rem}.set-version{color:var(--accent)}.set-ua{word-break:break-all;font-size:1.2rem}.dialog p{white-space:pre-line}.pt-badge.reminder{background:var(--accent);color:#000}.subtitle-layer{z-index:5;text-align:center;pointer-events:none;line-height:1.25;position:absolute;bottom:7%;left:8%;right:8%}.subtitle-line{white-space:pre-wrap;text-shadow:-.15rem -.15rem #000,.15rem -.15rem #000,-.15rem .15rem #000,.15rem .15rem #000;margin:0 auto;padding:0 .6rem;display:table}.subtitle-layer.boxed .subtitle-line{text-shadow:none;background:rgba(0,0,0,.7)}.poster-card.plain{border:.2rem solid transparent;border-radius:.6rem;width:11.6rem;height:17.4rem;transition:transform .12s ease-out}.poster-card.plain:focus,.wide-card:focus{border-color:#fff;transform:scale(1.1)}.shelf-row>.poster-card.see-all:only-child,.shelf-row>.poster-card.plain~.see-all{border-radius:.6rem;width:11.6rem;height:17.4rem}.shelf-info{white-space:nowrap;text-overflow:ellipsis;height:2.8rem;margin:0;padding:.2rem 1.6rem 0;font-size:1.5rem;overflow:hidden}.shelf-info span{white-space:pre;color:rgba(255,255,255,.75)}.wide-card{background:var(--surface-variant);text-align:left;border:.2rem solid transparent;border-radius:.6rem;width:20rem;height:11.25rem;transition:transform .12s ease-out;position:relative;overflow:hidden}.wide-card img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.wc-shade{background:linear-gradient(transparent,rgba(0,0,0,.85));height:50%;position:absolute;bottom:0;left:0;right:0}.wc-text{position:absolute;bottom:.9rem;left:1rem;right:1rem}.wc-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem;font-weight:700;display:block;overflow:hidden}.wc-sub{color:rgba(255,255,255,.75);font-size:1.1rem;display:block}.wc-badge{color:#fff;background:#e50914;border-radius:.3rem;padding:.15rem .6rem;font-size:1.1rem;font-weight:700;position:absolute;top:.6rem;right:.6rem}.wc-progress{height:.3rem}.badge-sm.archive{color:#fff;background:#7e57c2}.archive-band .vod-bar-row{margin-top:.8rem}.home-edit{height:100%;padding:2.4rem 4.8rem 4rem;overflow-y:auto}.he-head{justify-content:space-between;align-items:center;display:flex}.he-head h1{font-size:2.8rem;font-weight:600}.he-hint{color:var(--on-surface-variant);margin:.6rem 0 1.4rem;font-size:1.5rem}.he-list{max-width:80rem}.he-row{align-items:center;padding:.3rem .6rem;display:flex}.he-row>.he-main{background:var(--surface);flex:1;font-size:1.8rem}.he-row.moving>.he-main{background:rgba(var(--accent-rgb), .25);border-color:var(--accent)}.he-num{width:3.2rem;color:var(--on-surface-variant)}.he-label{flex:1}.he-moving{background:var(--accent);color:#000;border-radius:.4rem;padding:.2rem .8rem;font-size:1.3rem;font-weight:700}.he-switch{background:var(--surface);min-width:9rem;color:var(--on-surface-variant);border:.3rem solid transparent;border-radius:1rem;flex:none;margin-left:1rem;padding:.9rem 1.2rem;font-size:1.6rem;transition:transform .1s ease-out}.he-switch.on{color:var(--accent);font-weight:600}.he-switch:focus{border-color:#fff;transform:scale(1.05)}.icon-btn{align-items:center;display:inline-flex}.icon-btn>svg{width:2rem;height:2rem;margin-right:.6rem}.home-head>.btn+.btn{margin-left:1rem}.he-row>.he-main:focus{background:var(--surface-variant)}.topbar{z-index:2;position:relative}.home.with-hero{z-index:1;position:relative}.hero2{flex:none;height:17.6rem;position:relative}.hero2-bg{z-index:-1;pointer-events:none;width:68%;height:62%;position:fixed;top:0;right:0}.hero2-bg>img{object-fit:cover;width:100%;height:100%}.hero2-bg{-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%),linear-gradient(#000 50%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%),linear-gradient(#000 50%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.hero2-actions{position:absolute;top:0;right:1.6rem}.home-actions{align-items:center;display:flex}.home-actions>*+*{margin-left:1rem}.hero2-info{flex-direction:column;justify-content:flex-end;width:55%;height:100%;padding-bottom:1rem;padding-left:1.6rem;display:flex}.hero2-kind{letter-spacing:.3rem;color:#e50914;font-size:1.2rem;font-weight:700}.hero2-title{white-space:nowrap;text-overflow:ellipsis;margin-top:.4rem;font-size:2.8rem;font-weight:900;line-height:1.2;overflow:hidden}.hero2-meta{align-items:baseline;margin-top:.4rem;font-size:1.4rem;display:flex}.hero2-meta>*+*{margin-left:1rem}.hero2-meta>b{color:#46d369}.hero2-plot{color:rgba(255,255,255,.65);white-space:nowrap;text-overflow:ellipsis;min-height:1.6rem;margin-top:.4rem;font-size:1.2rem;overflow:hidden}.hero2-buttons{margin-top:1rem}.hero2-buttons>*+*{margin-left:1rem}.home.with-hero .home-shelves{overflow:hidden}.home-list{transition:transform .3s ease-out}.wc-progress>span{background:#e50914}.home-list{position:relative}.grid-spacer{flex:none;width:100%}.round-btn{color:#fff;background:rgba(0,0,0,.45);border:.2rem solid transparent;border-radius:50%;flex:none;justify-content:center;align-items:center;width:4rem;height:4rem;transition:transform .12s ease-out;display:inline-flex}.round-btn>svg{width:2rem;height:2rem}.round-btn:focus{border-color:#fff;transform:scale(1.1)}.browse-logo b{font-size:1.5rem}.extensions .ext-row{align-items:center}.ext-add,.ext-chip{align-items:center;display:inline-flex}.ext-add>svg{width:1.8rem;height:1.8rem;margin-right:.6rem}.ext-chip>img{object-fit:contain;width:2rem;height:2rem;margin-right:.8rem}.ext-note{padding:0 1.6rem 1.6rem;font-size:1.5rem}.recordings{max-width:100rem}.rec-note{margin:1rem 0 1.4rem;font-size:1.5rem}.rec-row{background:var(--surface);margin-bottom:.6rem}.rec-repeat{background:rgba(var(--accent-rgb), .25);color:var(--accent);border-radius:.4rem;flex:none;padding:.2rem .8rem;font-size:1.3rem}.page-flow{flex:1;min-height:0;position:relative}.browse-bar{border:.1rem solid rgba(255,255,255,.08);border-radius:1.4rem;flex:none;align-items:center;height:8.4rem;margin-bottom:1rem;padding:0 2rem;display:flex}.browse-bar>*+*{margin-left:1.6rem}.browse-bar>.spacer+*{margin-left:0}.bb-id{flex-direction:column;min-width:0;display:flex}.bb-title{white-space:nowrap;text-overflow:ellipsis;max-width:50rem;font-size:2.8rem;font-weight:700;overflow:hidden}.bb-count{color:rgba(255,255,255,.8);margin-top:.4rem;font-size:1.3rem}.bb-tabs{background:rgba(0,0,0,.35);border-radius:2rem;padding:.3rem;display:flex}.bb-tab{color:#fff;white-space:nowrap;border-radius:1.7rem;padding:.6rem 1.5rem;font-size:1.4rem}.bb-tab-count{opacity:.7;white-space:pre;font-size:1.2rem}.bb-tab.selected{color:#0d1117;background:#fff;font-weight:700}.bb-tab:focus{background:var(--accent);color:#0d1117}.bb-sorts>*+*{margin-left:.8rem}.bb-genre{white-space:nowrap}.field-row{align-items:stretch;display:flex}.field-row>.field-box{flex:1;align-items:center;min-width:0;min-height:5.2rem;display:flex}.eye-btn{background:var(--surface-variant);width:5.2rem;min-height:5.2rem;color:var(--on-surface-variant);border:.3rem solid transparent;border-radius:1rem;flex:none;justify-content:center;align-items:center;margin-left:.8rem;transition:transform .12s ease-out;display:flex}.eye-btn>svg{width:2.6rem;height:2.6rem}.eye-btn:focus{border-color:var(--accent);transform:scale(1.05)}.onb-help{border-radius:2rem;margin-top:1.2rem;padding:1.8rem 2.2rem}.form-side>.onb-help:first-child{margin-top:0}.onb-help h3{margin-bottom:1rem;font-size:1.8rem;font-weight:600}.onb-help ul{margin:0;padding-left:2rem}.onb-help li{color:var(--on-surface-variant);font-size:1.4rem;line-height:1.4}.onb-help li+li{margin-top:.6rem}
|
|
2
|
-
/*$vite$:1*/`,document.head.appendChild(e),`queueMicrotask`in self||(self.queueMicrotask=e=>{Promise.resolve().then(e)}),Promise.prototype.finally||(Promise.prototype.finally=function(e){let t=typeof e==`function`?e:()=>{};return this.then(e=>Promise.resolve(t()).then(()=>e),e=>Promise.resolve(t()).then(()=>{throw e}))});function t(e,t){return t}var n,r,i,a,o,s,c,l,u,d,f,p={},m=[],h=/^m(i|n|o|s|text|space)$/,g=Array.isArray,_=m.slice,v=Object.assign;function y(e){e&&e.parentNode&&e.remove()}function b(e,t,i,a,o){var s={type:e,props:t,key:i,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o||++r,__i:-1,__u:0};return!o&&n.vnode&&n.vnode(s),s}function x(e){return e.children}function S(e,t){this.props=e,this.context=t,this.__g=0}function ee(e,t){if(t==null)return e.__&&ee(e.__,e.__i+1);for(var n;t<e.__k.length;t++)if((n=e.__k[t])&&n.__e)return n.__e;return typeof e.type!=`function`||e.props.__P?null:ee(e)}function C(e){if((e=e.__)&&e.__c&&!e.props.__P)return e.__e=null,e.__k.some(function(t){return t&&(e.__e=t.__e)}),C(e)}function w(e){(8&e.__g||(e.__g|=8,a.push(e),s++))&&o==n.debounceRendering||((o=n.debounceRendering)||queueMicrotask)(T)}function T(){var e,t,r,i,l,u,d,f,p;try{for(t=1;a.length;)a.length>t&&a.sort(c),e=a.shift(),t=a.length,8&e.__g&&(i=void 0,l=void 0,u=(l=(r=e).__v).__e,d=[],f=[],(p=r.__P)&&((i=v({constructor:void 0},l)).__v=l.__v+1,n.vnode&&n.vnode(i),ne(p,i,l,r.__n,p.namespaceURI,32&l.__u?[u]:null,d,u||ee(l),32&l.__u,f),i.__v=l.__v,i.__.__k[i.__i]=i,ae(d,i,f),l.__=l.__e=null,i.__e!=u&&C(i)))}finally{(s=a.length)&&(o||queueMicrotask)(T)}}function E(e,t,n,r,i,a,o,s,c,l,u){var d,f,h,g,_,v,y=r.__k||m,b=t.length;for(c=D(n,t,y,c,b),d=0;d<b;d++)(h=n.__k[d])!=null&&(f=~h.__i&&y[h.__i]||p,h.__i=d,v=ne(e,h,f,i,a,o,s,c,l,u),g=h.__e,(f.ref!=h.ref||8&f.__u)&&(f.ref&&se(f.ref,null,h,f),h.ref&&u.push(h.ref,h.__c||g,h)),_=_||g,4&h.__u?(c=O(h,c,e,!f.__v),f.__e&&(f.__e=null)):typeof h.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),h.__u&=-21);return n.__e=_,c}function D(e,t,n,r,i){var a,o,s,c,l,u,d,f,p,m=n.length,h=m,_=0,v=0,y=e.__k=Array(i);for(a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o!=`object`||o.constructor==String?o=y[a]=b(null,o):g(o)?o=y[a]=b(x,{children:o}):o.constructor===void 0&&o.__b?o=y[a]=b(o.type,o.props,o.key,o.ref,o.__v):y[a]=o,c=a+_,o.__=e,o.__b=e.__b+1,s=null,~(l=o.__i=k(o,n,c,h))&&(h--,(s=n[l])&&(s.__u|=2)),s&&s.__v?(o.__u|=16,l==c-1?_--:l==c+1?_++:l!=c&&(l>c?_--:_++,v=1)):(~l||(i>m?_--:i<m&&_++),typeof o.type!=`function`&&(o.__u|=4))):y[a]=null;if(v){for(u=[],d=[],a=0;a<i;a++)if((o=y[a])&&16&o.__u){for(_=0,f=u.length;_<f;)u[p=_+f>>1]<o.__i?_=p+1:f=p;u[_]=o.__i,d[a]=_+1}for(_=u.length;a--;)d[a]&&(d[a]==_?_--:y[a].__u|=4)}if(h)for(a=0;a<m;a++)!(s=n[a])||2&s.__u||(s.__e==r&&(r=ee(s)),ce(s,s));return r}function O(e,t,n,r){var i,a,o,s;if(typeof e.type==`function`){if(e.props.__P)return t;if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&(i[a].__=e,t=O(i[a],t,n,!1));return t}for(t&&!t.parentNode&&(t=ee(e))&&!t.parentNode&&(t=null),o=e.__e,s=t;s&&s.nodeType==8;)s=s.nextSibling;for(o!=s&&(!r&&n.moveBefore&&o.parentNode?n.moveBefore(o,t):n.insertBefore(o,t||null)),t=o;(t=t&&t.nextSibling)&&t.nodeType==8&&!t.data.startsWith(`$s`););return t}function k(e,t,n,r){var i,a=e.key,o=e.type,s=t[n],c=s&&!(2&s.__u);if(s===null&&a==null||c&&a==s.key&&o==s.type)return n;if(r>+!!c){for(i=n-1;i>=0;i--)if((s=t[i])&&!(2&s.__u)&&a==s.key&&o==s.type)return i;for(i=n+1;i<t.length;i++)if((s=t[i])&&!(2&s.__u)&&a==s.key&&o==s.type)return i}return-1}function te(e,t,n){n==null&&(n=``),t[0]==`-`?e.setProperty(t,n):e[t]=n}function A(e,t,n,r,i){var a,o;if(t==`style`){if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||te(e.style,t);if(n)for(t in n)r&&n[t]==r[t]||te(e.style,t,n[t])}}else if(t[0]==`o`&&t[1]==`n`)(e.__e||(e.__e={}))[t]=n,n&&r||(o=f[t]||(f[t]=j(t)),(e.__a||(e.__a={}))[t]=d,a=t!=(t=t.replace(u,`$1`)),(t=t.slice(2))[0]<`a`&&(t=t.toLowerCase()),n?e.addEventListener(t,o,a):e.removeEventListener(t,o,a));else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n==null?``:n;return}catch(e){}if(typeof n==`function`)return;n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n)}}function j(e){return function(t){var r=this.__e;if(r){if(r=r[e],t[l]==null)t[l]=d++;else if(t[l]<this.__a[e])return;return r(n.event?n.event(t):t)}}}function ne(e,t,r,i,a,o,s,c,l,u){var d,f,p,h,_,b,C,w,T,D,O,k,te,A,j,ne,ae,se,ue=t.type;if(t.constructor!==void 0)return null;128&r.__u&&(l=32&r.__u,d=r.__c.__z)&&(t.__u|=l,f=o=[],d.nodeType==8?c=re(d,o):o.push(d),c=o[0]||c),(d=n.__b)&&d(t);n:if(typeof ue==`function`){p=s.length;try{if(w=t.props,T=(d=ue.prototype)&&d.render,D=(d=ue.contextType)&&i[d.__c],O=d?D?D.props.value:d.__:i,(h=r.__c)?(t.__c=h,2&h.__g&&(h.__g|=1)):(T?t.__c=h=new ue(w,O):(t.__c=h=new S(w,O),h.constructor=ue,h.render=le),D&&D.sub(h),h.state||(h.state={}),h.__n=i,h.__g|=8,h.__h=[],h.__k=[]),T&&(h.__s||(h.__s=h.state),ue.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=v({},h.__s)),v(h.__s,ue.getDerivedStateFromProps(w,h.__s)))),_=h.props,b=h.state,h.__v=t,r.__c){if(w!==_&&T&&!ue.getDerivedStateFromProps&&h.componentWillReceiveProps&&h.componentWillReceiveProps(w,O),t.__v==r.__v&&!(8&h.__g)||!(4&h.__g)&&h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(w,h.__s,O)){t.__v!=r.__v&&(h.props=w,h.state=h.__s,h.__g&=-9),t.__e=r.__e,t.__k=r.__k,t.__k.some(function(e){e&&(e.__=t)}),m.push.apply(h.__h,h.__k),h.__k=[],h.__h.length&&s.push(h),c=ee(r);break n}h.componentWillUpdate&&h.componentWillUpdate(w,h.__s,O),T&&h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(_,b,C)})}else T&&!ue.getDerivedStateFromProps&&h.componentWillMount&&h.componentWillMount(),T&&h.componentDidMount&&h.__h.push(h.componentDidMount);if(h.context=O,h.props=w,h.__P=e,h.__g&=-5,k=n.__r,te=0,T)h.state=h.__s,h.__g&=-9,k&&k(t),d=h.render(h.props,h.state,h.context),m.push.apply(h.__h,h.__k),h.__k=[];else do h.__g&=-9,k&&k(t),d=h.render(h.props,h.state,h.context),h.state=h.__s;while(8&h.__g&&++te<25);h.state=h.__s,h.getChildContext&&(i=v({},i,h.getChildContext())),T&&r.__c&&h.getSnapshotBeforeUpdate&&(C=h.getSnapshotBeforeUpdate(_,b)),A=d&&d.type===x&&d.key==null?d.props.children:d,w.__P&&(d=c,a=(e=w.__P).namespaceURI,l=o=null,r.props&&r.props.__P!=e&&(r.__k.some(function(e){e&&ce(e,e)}),r.__k=null),c=r.__k?ee(r,0):null),c=E(e,g(A)?A:[A],t,r,i,a,o,s,c,l,u),w.__P&&(t.__e=null,c=d),t.__u&=-161,f&&f.some(y),h.__h.length&&s.push(h),1&h.__g&&(h.__g&=-4)}catch(e){if(s.length=p,t.__v=null,l||o){if(e.then){if(j=0,t.__u|=128|l,o){for(~(ae=o.indexOf(c||void 0))||(ae=o.length);(se=o[ae-1])&&se.nodeType==8;)ae--;for(;ae<o.length;ae++)if(se=o[ae]){if(o[ae]=null,se.nodeType==8){if(se.data.startsWith(`$s`))j++||(ne=se);else if(j&&se.data.startsWith(`/$s`)&&!--j)break}else if(!j)break}}if(!ne){for(;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;ne=c}(d=re(ne=t.__c.__z||(t.__c.__z=ne)))?(t.__e=ne,c=d):t.__e=c,c=c&&c.nextSibling}else o&&o.some(y)}else t.__e=r.__e;t.__k||(t.__k=r.__k||[]),e.then||ie(t),n.__e(e,t,r)}}else c=t.__e=oe(r.__e,t,r,i,a,o,s,l,u,e);return(d=n.diffed)&&d(t),c}function re(e,t){if(e&&e.nodeType==8&&e.data.startsWith(`$s`))for(var n=1;e=e.nextSibling;){if(e.nodeType==8){if(e.data.startsWith(`$s`))n++;else if(e.data.startsWith(`/$s`)&&!--n)return e}t&&t.push(e)}}function ie(e){e&&(e.__c&&(e.__c.__g|=4),e.__k&&e.__k.some(ie))}function ae(e,t,r){for(var i=0;i<r.length;)se(r[i++],r[i++],r[i++]);n.__c&&n.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){n.__e(e,t.__v)}})}function oe(e,t,r,i,a,o,s,c,l,u){var d,f,m,v,b,x,S,C,w,T=r.props||p,D=t.props,O=t.type;if(O==`svg`?a=`http://www.w3.org/2000/svg`:O==`math`?a=`http://www.w3.org/1998/Math/MathML`:a||(a=`http://www.w3.org/1999/xhtml`),o){for(d=0;d<o.length;d++)if((b=o[d])&&(O?b.localName==O:b.nodeType==3)){e=b,o[d]=null;break}}if(!e){if(C=u.ownerDocument||document,!O)return C.createTextNode(D);e=C.createElementNS(a,O,D.is&&D),c&&(n.__m&&n.__m(t,o),c=!1),o=null}if(O){if(u=O==`template`?e.content:e,o=O==`textarea`&&D.defaultValue!=null?null:o&&_.call(u.childNodes),!c&&o)for(T={},d=0;d<e.attributes.length;d++)T[(b=e.attributes[d]).name]=b.value;for(d in T)b=T[d],d==`dangerouslySetInnerHTML`?m=b:d==`children`||d in D||d==`value`&&`defaultValue`in D||d==`checked`&&`defaultChecked`in D||A(e,d,null,b,a);for(d in w=1&r.__u,D)b=D[d],d==`children`?v=b:d==`dangerouslySetInnerHTML`?f=b:d==`value`?x=b:d==`checked`?S=b:c&&typeof b!=`function`||!(T[d]!==b||w&&b!=null)||A(e,d,b,T[d],a);f?(c||m&&(f.__html==m.__html||f.__html==e.innerHTML)||(e.innerHTML=f.__html),t.__k=[]):(m&&(e.textContent=``),(O==`foreignObject`||a==`http://www.w3.org/1998/Math/MathML`&&h.test(O))&&(a=`http://www.w3.org/1999/xhtml`),E(u,g(v)?v:[v],t,r,i,a,o,s,o?o[0]:r.__k&&ee(r,0),c,l),o&&o.some(y)),c&&O!=`textarea`||(d=`value`,O==`progress`&&x==null?e.removeAttribute(d):x==null||x===e[d]&&(O!=`progress`||x)||A(e,d,x,T[d],a),d=`checked`,S!=null&&S!=e[d]&&A(e,d,S,T[d],a))}else T===D||c&&e.data==D||(e.data=D);return e}function se(e,t,r,i){try{typeof e==`function`?t?t.__x=e(t)||1:i&&(i=i.__c||i.__e)&&(t=i.__x)&&(i.__x=null,typeof t==`function`?t():e(null)):e.current=t}catch(e){n.__e(e,r)}}function ce(e,t,r){var i,a,o,s;if(n.unmount&&n.unmount(e),!(i=e.ref)||i.current&&i.current!=e.__e||se(i,null,t,e),i=e.__c){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){n.__e(e,t)}i.__P=i.__n=null}if(i=e.__k)for(s=0;s<i.length;s++)i[s]&&ce(i[s],t,typeof e.type!=`function`||r&&!e.props.__P);!r&&(i=e.__c)&&(i=i.__z)&&(a=re(i,o=[]))&&(i==e.__e&&o.some(y),y(a),y(i)),(i=e.__e)&&(r||y(i),i.__e&&(i.__e=null)),e.__e=e.__c=e.__=null}function le(e,t,n){return this.constructor(e,n)}function ue(e,t){var r,i,a,o;n.__&&n.__(e,t),t.nodeType==9&&(t=t.documentElement),i=(r=e&&32&e.__u)?null:t.__k,t.__k=b(x,{children:[e]}),a=[],o=[],ne(t,t.__k,i||p,p,t.namespaceURI,i?null:t.firstChild?_.call(t.childNodes):null,a,i?i.__e:t.firstChild,r,o),ae(a,t.__k,o),t.__k.props.children=null}n={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!(1&i.__g)){i.__g|=4;try{if((o=(a=i.constructor)&&a.getDerivedStateFromError)&&i.setState(a.getDerivedStateFromError(e)),i.componentDidCatch&&(i.componentDidCatch(e,r||{}),o=1),o&&8&i.__g)return void(i.__g|=2)}catch(t){e=t}}throw s=0,e}},r=0,i=function(e){return e!=null&&e.constructor===void 0},S.prototype.setState=function(e,t){var n=this.__s;n&&n!=this.state||(n=this.__s=v({},this.state)),typeof e==`function`&&(e=e(v({},n),this.props)),e&&(v(n,e),this.__v&&(t&&this.__k.push(t),w(this)))},S.prototype.forceUpdate=function(e){this.__v&&(this.__g|=4,e&&this.__h.push(e),w(this))},S.prototype.render=x,a=[],s=0,c=function(e,t){return e.__v.__b-t.__v.__b},l=Symbol(),u=/(PointerCapture)$|Capture$/i,d=0,f={};var de=0;Array.isArray;function M(e,t,r,i,a,o){t||(t={});var s,c,l=t;if(`ref`in l&&typeof e!=`function`)for(c in l={},t)c==`ref`?s=t[c]:l[c]=t[c];var u={type:e,props:l,key:r,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--de,__i:-1,__u:0};return(a||o)&&(u.__source=a,u.__self=o),n.vnode&&n.vnode(u),u}var fe,pe,me,he,ge=Object.is,_e=0,ve=[],ye=[],be=n,xe=be.__b,Se=be.__r,Ce=be.diffed,we=be.__c,Te=be.unmount,Ee=be.__;function De(e,t){be.__h&&be.__h(pe,e,_e||t),_e=0;var n=pe.__H||(pe.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function N(e){return _e=1,Oe(Le,e)}function Oe(e,t,n){var r=De(fe++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Le(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);ge(t,n)||(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=pe,!pe.__f)){pe.__f=!0;var i=pe.shouldComponentUpdate;pe.shouldComponentUpdate=function(e,t,n){var r=this.__H;if(!r)return!0;var a=!1,o=this.props!=e;if(r.__.some(function(e){e.__N&&(a=!0,ge(e.__[0],e.__N[0])||(o=!0))}),i){var s=i.call(this,e,t,n);return a?s||o:s}return!a||o}}return r.__}function P(e,t){var n=De(fe++,3);!be.__s&&Ie(n.__H,t)&&(n.__P=!0,n.__=e,n.u=t,pe.__H.__h.push(n))}function F(e){return _e=5,ke(function(){return{current:e}},[])}function ke(e,t){var n=De(fe++,7);return Ie(n.__H,t)&&(n.__=e(),n.__H=t),n.__}function Ae(){var e;do{for(;e=ye.shift();)try{Pe(e)}catch(t){be.__e(t,{__:(e=e.__P)&&e.__v})}for(;e=ve.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Pe),t.__h.some(Fe),t.__h=[]}catch(n){t.__h=[],be.__e(n,e.__v)}}}while(ye.length)}be.__b=function(e){pe=null,xe&&xe(e)},be.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Ee&&Ee(e,t)},be.__r=function(e){Se&&Se(e),fe=0;var t=(pe=e.__c).__H;t&&(me==pe?pe.__h=[]:(t.__h.some(Pe),t.__h.some(Fe),fe=0),t.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})),me=pe},be.diffed=function(e){Ce&&Ce(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&Ne(ve.push(t)),t.__H.__.some(function(e){e.u&&(e.__H=e.u)})),me=pe=null},be.__c=function(e,t){t.some(function(e){try{e.__h.some(Pe),e.__h=e.__h.filter(function(e){return!e.__||Fe(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],be.__e(n,e.__v)}}),we&&we(e,t)},be.unmount=function(e){Te&&Te(e);var t,n,r=e.__c;r&&r.__H&&(r.__H.__.some(function(r){try{if(r.__P&&r.__c){if(n===void 0){for(n=e.__;n&&(!n.__c||!n.__c.__P);)n=n.__;n=n&&n.__c}r.__P=n,Ne(ye.push(r))}else Pe(r)}catch(e){t=e}}),r.__H=void 0,t&&be.__e(t,r.__v))};var je=typeof requestAnimationFrame==`function`;function Me(e){var t,n=function(){clearTimeout(r),je&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);je&&(t=requestAnimationFrame(n))}function Ne(e){e!=1&&he==be.requestAnimationFrame||((he=be.requestAnimationFrame)||Me)(Ae)}function Pe(e){var t=pe,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),pe=t}function Fe(e){var t=pe;e.__c=e.__(),pe=t}function Ie(e,t){return!e||e.length!=t.length||t.some(function(t,n){return!ge(t,e[n])})}function Le(e,t){return typeof t==`function`?t(e):t}var Re=Symbol.for(`preact-signals`);function ze(){if(Ge>1)Ge--;else{var e,t=!1;for((function(){var e=Ye;for(Ye=void 0;e!==void 0;){var t=e.S;if(t.v===e.v)for(var n=t.t;n!==void 0;n=n.x)n.i===e.i&&(n.i=t.i);e=e.o}})();We!==void 0;){var n=We;for(We=void 0,Ke++;n!==void 0;){var r=n.u;if(n.u=void 0,n.f&=-3,!(8&n.f)&&$e(n))try{n.c()}catch(n){t||(e=n,t=!0)}n=r}}if(Ke=0,Ge--,t)throw e}}function Be(e){if(Ge>0)return e();Je=++qe,Ge++;try{return e()}finally{ze()}}var Ve,He=void 0;function Ue(e){var t=He,n=Ve;He=void 0,Ve=void 0;try{return e()}finally{He=t,Ve=n}}var We=void 0,Ge=0,Ke=0,qe=0,Je=0,Ye=void 0,Xe=0;function Ze(e){if(He!==void 0){var t=e.n;if(t===void 0||t.t!==He)return t={i:0,S:e,p:He.s,n:void 0,t:He,e:void 0,x:void 0,r:t},He.s!==void 0&&(He.s.n=t),He.s=t,e.n=t,32&He.f&&e.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=He.s,t.n=void 0,He.s.n=t,He.s=t),t}}function Qe(e,t){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=t==null?void 0:t.watched,this.Z=t==null?void 0:t.unwatched,this.name=t==null?void 0:t.name}Qe.prototype.brand=Re,Qe.prototype.h=function(){return!0},Qe.prototype.S=function(e){var t=this,n=this.t;n!==e&&e.e===void 0&&(e.x=n,this.t=e,n===void 0?Ue(function(){var e;(e=t.W)==null||e.call(t)}):n.e=e)},Qe.prototype.U=function(e){var t=this;if(this.t!==void 0){var n=e.e,r=e.x;n!==void 0&&(n.x=r,e.e=void 0),r!==void 0&&(r.e=n,e.x=void 0),e===this.t&&(this.t=r,r===void 0&&Ue(function(){var e;(e=t.Z)==null||e.call(t)}))}},Qe.prototype.subscribe=function(e){var t=this;return ct(function(){var n=t.value;Ue(function(){return e(n)})},{name:`sub`})},Qe.prototype.valueOf=function(){return this.value},Qe.prototype.toString=function(){return this.value+``},Qe.prototype.toJSON=function(){return this.value},Qe.prototype.peek=function(){var e=this;return Ue(function(){return e.value})},Object.defineProperty(Qe.prototype,"value",{get:function(){var e=Ze(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(Ke>100)throw Error(`Cycle detected`);(function(e){Ge!==0&&Ke===0&&e.l!==Je&&(e.l=Je,Ye={S:e,v:e.v,i:e.i,o:Ye})})(this),this.v=e,this.i++,Xe++,Ge++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{ze()}}}});function I(e,t){return new Qe(e,t)}function $e(e){for(var t=e.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function et(e){for(var t=e.s;t!==void 0;t=t.n){var n=t.S.n;if(n!==void 0&&(t.r=n),t.S.n=t,t.i=-1,t.n===void 0){e.s=t;break}}}function tt(e){for(var t=e.s,n=void 0;t!==void 0;){var r=t.p;t.i===-1?(t.S.U(t),r!==void 0&&(r.n=t.n),t.n!==void 0&&(t.n.p=r)):n=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=r}e.s=n}function nt(e,t){Qe.call(this,void 0,t),this.x=e,this.s=void 0,this.g=Xe-1,this.f=4}nt.prototype=new Qe,nt.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Xe))return!0;if(this.g=Xe,this.f|=1,this.i>0&&!$e(this))return this.f&=-2,!0;var e=He;try{et(this),He=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return He=e,tt(this),this.f&=-2,!0},nt.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t)}Qe.prototype.S.call(this,e)},nt.prototype.U=function(e){if(this.t!==void 0&&(Qe.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t)}},nt.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}},Object.defineProperty(nt.prototype,"value",{get:function(){if(1&this.f)throw Error(`Cycle detected`);var e=Ze(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function rt(e,t){return new nt(e,t)}function it(e){var t=e.m;if(e.m=void 0,typeof t==`function`){Ge++;var n=He;He=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,at(e),t}finally{He=n,ze()}}}function at(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,it(e)}function ot(e){if(He!==this)throw Error(`Out-of-order effect`);tt(this),He=e,this.f&=-2,8&this.f&&at(this),ze()}function st(e,t){this.x=e,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=t==null?void 0:t.name,Ve&&Ve.push(this)}st.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t==`function`&&(this.m=t)}finally{e()}},st.prototype.S=function(){if(1&this.f)throw Error(`Cycle detected`);this.f|=1,this.f&=-9,it(this),et(this),Ge++;var e=He;return He=this,ot.bind(this,e)},st.prototype.N=function(){2&this.f||(this.f|=2,this.u=We,We=this)},st.prototype.d=function(){this.f|=8,1&this.f||at(this)},st.prototype.dispose=function(){this.d()};function ct(e,t){var n=new st(e,t);try{n.c()}catch(e){throw n.d(),e}var r=n.d.bind(n);return r[Symbol.dispose]=r,r}var lt,ut,dt,ft=typeof window<`u`&&!!window.__PREACT_SIGNALS_DEVTOOLS__,pt=[];ct(function(){lt=this.N})();function mt(e,t){n[e]=t.bind(null,n[e]||function(){})}function ht(e){if(dt){var t=dt;dt=void 0,t()}dt=e&&e.S()}function gt(e){var t=this,n=e.data,r=vt(n);r.name=`ReactiveDom`,r.value=n;var a=ke(function(){for(var e=t,n=t.__v;n=n.__;)if(n.__c){n.__c.__$f|=4;break}var a=rt(function(){var e=r.value.value;return e===0?0:!0===e?``:e||``}),o=rt(function(){return!Array.isArray(a.value)&&!i(a.value)}),s=ct(function(){if(this.N=St,o.value){var t=a.value;e.__v&&e.__v.__e&&e.__v.__e.nodeType===3&&(e.__v.__e.data=t)}}),c=t.__$u.d;return t.__$u.d=function(){s(),c.call(this)},[o,a]},[]),o=a[0],s=a[1];return o.value?s.peek():s.value}gt.displayName=`ReactiveTextNode`,Object.defineProperties(Qe.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:gt},props:{configurable:!0,get:function(){var e=this;return{data:{get value(){return e.value}}}}},__b:{configurable:!0,value:1}}),mt(`__b`,function(e,t){if(ht(),ut=void 0,typeof t.type==`string`){var n,r=t.props;for(var i in r)if(i!==`children`){var a=r[i];a instanceof Qe&&(n||(t.__np=n={}),n[i]=a,r[i]=a.peek())}}e(t)}),mt(`__r`,function(e,t){if(e(t),t.type!==x){ht();var n,r=t.__c;r&&(r.__$f&=-2,(n=r.__$u)===void 0&&(r.__$u=n=function(e,t){var n;return ct(function(){n=this},{name:t}),n.c=e,n}(function(e){return function(){var t;ft&&((t=this.y)==null||t.call(this)),e.__$f|=1,e.setState({})}}(r),typeof t.type==`function`?t.type.displayName||t.type.name:``))),ut=r,ht(n)}}),mt(`__e`,function(e,t,n,r){ht(),ut=void 0,e(t,n,r)}),mt(`diffed`,function(e,t){ht(),ut=void 0;var n;if(typeof t.type==`string`&&(n=t.__e)){var r=t.__np,i=t.props,a=n.U;if(a)for(var o in a){var s=a[o];s===void 0||r&&o in r||(s.d(),a[o]=void 0)}if(r)for(var c in a||(a={},n.U=a),r){var l=a[c],u=r[c];l===void 0?(l=_t(n,c,u,i),a[c]=l):l.o(u,i)}}e(t)});function _t(e,t,n,r){var i=t in e&&e.ownerSVGElement===void 0,a=I(n);return{o:function(e,t){a.value=e,r=t},d:ct(function(){this.N=St;var n=a.value.value;r[t]!==n&&(r[t]=n,i?e[t]=n:n!=null&&(!1!==n||t[4]===`-`)?e.setAttribute(t,n):e.removeAttribute(t))})}}mt(`unmount`,function(e,t){if(typeof t.type==`string`){var n=t.__e;if(n){var r=n.U;if(r)for(var i in n.U=void 0,r){var a=r[i];a&&a.d()}}var o=t.__np;if(o){var s=t.props;for(var c in o)s[c]=o[c]}t.__np=void 0}else{var l=t.__c;if(l){l.__$f|=8;var u=l.__$u;u&&(l.__$u=void 0,u.d())}}e(t)}),mt(`__h`,function(e,t,n,r){r<3&&(t.__$f|=2),e(t,n,r)}),S.prototype.shouldComponentUpdate=function(e,t){if(this.__R)return!0;var n=this.__$u,r=n&&n.s!==void 0;for(var i in t)return!0;if(this.__f||typeof this.u==`boolean`&&!0===this.u){var a=2&this.__$f;if(!(r||a||4&this.__$f)||1&this.__$f)return!0}else if(!(r||4&this.__$f)||3&this.__$f)return!0;for(var o in e)if(o!==`__source`&&e[o]!==this.props[o])return!0;for(var s in this.props)if(!(s in e))return!0;return!1};function vt(e,t){return ke(function(){return I(e,t)},[])}function yt(e,t){var n=F(e);return n.current=e,ut.__$f|=4,ke(function(){return rt(function(){return n.current()},t)},[])}var bt=function(e){queueMicrotask(function(){queueMicrotask(e)})};function xt(){Be(function(){for(var e;e=pt.shift();)lt.call(e)})}function St(){pt.push(this)===1&&(n.requestAnimationFrame||bt)(xt)}var Ct={37:`left`,38:`up`,39:`right`,40:`down`,13:`ok`,10009:`back`,27:`back`,8:`back`,403:`red`,404:`green`,405:`yellow`,406:`blue`,112:`red`,113:`green`,114:`yellow`,115:`blue`,427:`chUp`,428:`chDown`,33:`chUp`,34:`chDown`,10252:`playPause`,415:`play`,19:`pause`,413:`stop`,412:`rew`,417:`ff`,457:`info`,458:`guide`,10190:`last`,10073:`channelList`,10135:`menu`,93:`menu`,77:`menu`};function wt(e){return e.keyCode>=48&&e.keyCode<=57?`digit${e.keyCode-48}`:e.keyCode>=96&&e.keyCode<=105?`digit${e.keyCode-96}`:Ct[e.keyCode]}var Tt=`ColorF0Red.ColorF1Green.ColorF2Yellow.ColorF3Blue.ChannelUp.ChannelDown.PreviousChannel.ChannelList.Info.Guide.Tools.MediaPlayPause.MediaPlay.MediaPause.MediaStop.MediaRewind.MediaFastForward.0.1.2.3.4.5.6.7.8.9`.split(`.`),Et=typeof tizen<`u`;function Dt(){if(!Et)return;let e=new Set(tizen.tvinputdevice.getSupportedKeys().map(e=>e.name)),t=Tt.filter(t=>e.has(t));try{tizen.tvinputdevice.registerKeyBatch(t)}catch(e){t.forEach(e=>{try{tizen.tvinputdevice.registerKey(e)}catch(e){}})}}function Ot(){Et?tizen.application.getCurrentApplication().exit():window.close()}var kt=new Map,At=new Map,jt=`.content, .page, .page-flow`,Mt=e=>e.getAttribute(`data-focus-group`)||e,Nt=!1;function Pt(e){return e.getClientRects().length>0}function Ft(){let e=document.querySelectorAll(`[data-focus-scope]`);return e.length?e[e.length-1]:document}function It(e=Ft()){return Array.prototype.filter.call(e.querySelectorAll(`[data-focus]`),Pt)}function Lt(e){return e?e.closest(`[data-focus-group]`):null}function Rt(e){if(!e)return!1;e.tabIndex<0&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=-1),e.focus();let t=e.closest(jt);t&&At.set(Mt(t),e);let n=Lt(e);if(n&&(kt.set(n.dataset.focusGroup,e),kt.size>200&&kt.forEach((e,t)=>{e.isConnected||kt.delete(t)})),e.closest(`[data-focus-noscroll]`))return!0;let r=e;return r.scrollIntoViewIfNeeded?r.scrollIntoViewIfNeeded(!1):e.scrollIntoView({block:`nearest`,inline:`nearest`}),zt(e),!0}function zt(e){for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){if(t.scrollHeight<=t.clientHeight+1||getComputedStyle(t).overflowY===`visible`)continue;let n=parseFloat(getComputedStyle(document.documentElement).fontSize)*1.6,r=e.getBoundingClientRect(),i=t.getBoundingClientRect();r.top-n<i.top?t.scrollTop-=i.top-(r.top-n):r.bottom+n>i.bottom&&(t.scrollTop+=r.bottom+n-i.bottom);return}}function Bt(e){let t=e.querySelector(`[data-focus-default]`);if(t&&Pt(t))return t;let n=e instanceof HTMLElement&&e.dataset.focusGroup,r=n?kt.get(n):void 0;if(r&&r.isConnected&&Pt(r))return r;let i=e.querySelector(`[data-focus-initial]`);return i&&Pt(i)?i:It(e)[0]}function L(e){return e?Rt(Bt(e)):!1}function Vt(e,t,n){let r=n===`left`||n===`right`,i=r?e.left+e.width/2:e.top+e.height/2,a=r?t.left+t.width/2:t.top+t.height/2;if(n===`right`||n===`down`?a<=i+1:a>=i-1)return null;let o=Math.max(0,n===`right`?t.left-e.right:n===`left`?e.left-t.right:n===`down`?t.top-e.bottom:e.top-t.bottom),[s,c,l,u]=r?[e.top,e.bottom,t.top,t.bottom]:[e.left,e.right,t.left,t.right],d=Math.max(0,l-c,s-u);return o===0&&d>0?null:[o,d+Math.abs((s+c)/2-(l+u)/2)*.05,d]}function Ht(e){var t;let n=document.activeElement,r=It();if(!n||!n.hasAttribute(`data-focus`)||r.indexOf(n)<0)return Rt(Bt(Ft())||r[0]);if(e===`down`&&n.closest(`.topbar`)){let e=Array.prototype.filter.call(document.querySelectorAll(jt),Pt)[0];if(e){let t=At.get(Mt(e)),n=t&&t.isConnected&&Pt(t)&&e.contains(t)?t:Bt(e);if(n)return Rt(n)}}let i=n.getBoundingClientRect(),a=[];for(let t of r){if(t===n)continue;let r=Vt(i,t.getBoundingClientRect(),e);r&&a.push([t,r[0],r[1],r[2]])}if(e===`left`||e===`right`){let e=a.filter(e=>e[3]===0);e.length&&(a=e)}else{let t=n.closest(jt);if(t){let e=a.filter(e=>e[3]===0&&t.contains(e[0]));e.length&&(a=e)}else if(e===`up`&&n.closest(`.topbar`))return!1}let o=1/0;for(let e of a)e[1]<o&&(o=e[1]);let s=parseFloat(getComputedStyle(document.documentElement).fontSize),c=Math.min((e===`up`||e===`down`?i.height:i.width)/2,3*s),l,u=1/0;for(let[e,t,n]of a)t<=o+c&&n<u&&(u=n,l=e);if(!l)return!1;let d=Lt(l);return d&&d!==Lt(n)&&!d.contains(n)&&(l=(t=Bt(d))==null?l:t),Rt(l)}var Ut=[];function Wt(e){let t=F(e);t.current=e,P(()=>{let e=(e,n)=>t.current(e,n);return Ut.push(e),()=>{let t=Ut.indexOf(e);t>=0&&Ut.splice(t,1)}},[])}var Gt=600,Kt,qt=!1;function Jt(e){return!!e&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`)}var Yt=65376,Xt=65385;function Zt(e,t){let n=wt(e),r=()=>{e.preventDefault();let n=t.closest(`[data-focus]`);t.blur(),Rt(n)};if(e.keyCode===Yt||e.keyCode===Xt||n===`ok`||n===`back`&&e.keyCode!==8)return r(),!0;let i=t.selectionStart===0&&t.selectionEnd===0,a=t.selectionStart===t.value.length;return(n===`up`||n===`down`||n===`left`&&i||n===`right`&&a)&&(r(),Ht(n)),!0}function Qt(e){document.addEventListener(`keydown`,t=>{let n=document.activeElement;if(Jt(n)&&Zt(t,n))return;let r=wt(t);if(!r)return;if(r===`ok`){if(t.preventDefault(),t.repeat||Kt!==void 0||qt)return;Kt=window.setTimeout(()=>{var e;Kt=void 0,qt=!0,(e=document.activeElement)==null||e.dispatchEvent(new CustomEvent(`longpress`,{bubbles:!0}))},Gt);return}if(t.preventDefault(),t.repeat){if(Nt)return;Nt=!0,requestAnimationFrame(()=>{Nt=!1})}let i=!1;for(let e=Ut.length-1;e>=0;e--){let n=Ut[e](r,t);if(n==="default"){i=!0;break}if(n)return}r===`left`||r===`right`||r===`up`||r===`down`?Ht(r):i||e(r,t)}),document.addEventListener(`keyup`,e=>{var t;if(!(wt(e)!==`ok`||Jt(document.activeElement))){if(e.preventDefault(),qt)qt=!1;else if(Kt!==void 0){clearTimeout(Kt),Kt=void 0;for(let t=Ut.length-1;t>=0;t--){let n=Ut[t](`ok`,e);if(n==="default")break;if(n)return}(t=document.activeElement)==null||t.click()}}})}var $t={app_name:`UtopyaTV`,loading:`Yükleniyor…`,ok:`Tamam`,cancel:`İptal`,retry:`Tekrar dene`,save:`Kaydet`,delete:`Sil`,back:`Geri`,pin_wrong:`PIN hatalı`,pin_enter:`PIN girin`,pin_new:`Yeni PIN belirleyin`,nav_home:`Ana Sayfa`,nav_live:`Canlı TV`,nav_guide:`Rehber`,nav_movies:`Filmler`,nav_series:`Diziler`,nav_search:`Ara`,nav_recordings:`Kayıtlar`,nav_settings:`Ayarlar`,empty_no_provider:`Henüz bir kaynak eklenmedi.`,add_provider:`Kaynak ekle`,empty_list:`Burada gösterilecek bir şey yok.`,error_network:`Sunucuya bağlanılamadı. İnternet bağlantınızı ve adresi kontrol edin.`,error_timeout:`Sunucu zamanında yanıt vermedi. Lütfen tekrar deneyin.`,error_auth:`Kullanıcı adı veya parola hatalı.`,error_expired:`Aboneliğinizin süresi dolmuş.`,error_not_found:`Adres bulunamadı (404). Adresi kontrol edin.`,error_server:`Sunucu hatası. Daha sonra tekrar deneyin.`,error_parse:`Kaynak okunamadı; geçerli bir M3U/Xtream kaynağı olmayabilir.`,error_empty:`Kaynakta hiç kanal veya içerik bulunamadı.`,error_storage:`Yetersiz depolama alanı.`,error_unknown:`Beklenmeyen bir hata oluştu.`,onb_welcome:`UtopyaTV'ye hoş geldiniz`,onb_choose:`Başlamak için bir kaynak türü seçin. Uygulama içerik sağlamaz; kendi aboneliğinizin bilgilerini girin.`,onb_m3u_url:`M3U adresi`,onb_m3u_url_desc:`İnternetteki bir M3U/M3U8 listesi`,onb_m3u_file:`Yerel M3U dosyası`,onb_m3u_file_desc:`Cihazdaki bir dosyayı seçin`,onb_xtream:`Xtream Codes`,onb_xtream_desc:`Sunucu, kullanıcı adı ve parola`,onb_phone:`Telefondan gir`,onb_phone_desc:`QR kodu okutun, bilgileri telefonda yazın`,onb_name:`Kaynak adı`,onb_name_ph:`Örn. Evdeki liste`,onb_url:`Liste adresi`,onb_server:`Sunucu adresi`,onb_username:`Kullanıcı adı`,onb_password:`Parola`,onb_epg:`EPG (XMLTV) adresi — isteğe bağlı`,onb_user_agent:`User-Agent — isteğe bağlı`,onb_live_format:`Canlı yayın biçimi`,onb_connect:`Bağlan`,onb_validating:`Bilgiler doğrulanıyor…`,onb_file_none:`Bu cihazda dosya seçici yok. Dosyayı "Telefondan gir" seçeneğiyle yükleyebilirsiniz.`,onb_file_chosen:`Seçilen dosya: %1$s`,onb_pick_file:`Dosya seç`,onb_phone_title:`Telefonunuzla QR kodu okutun`,onb_phone_hint:`Telefon ve TV aynı Wi-Fi ağında olmalı. Adres: %1$s`,onb_phone_no_network:`Ağ bağlantısı bulunamadı. TV'nin Wi-Fi veya kabloyla bağlı olduğundan emin olun.`,onb_required:`Lütfen gerekli alanları doldurun.`,sync_title:`Kaynak hazırlanıyor`,sync_connecting:`Bağlanılıyor…`,sync_categories:`Kategoriler alınıyor…`,sync_live:`Canlı kanallar: %1$d`,sync_movies:`Filmler: %1$d`,sync_series:`Diziler: %1$d`,sync_epg:`Yayın akışı: %1$d program`,sync_done:`Hazır!`,sync_failed:`Senkronizasyon başarısız`,sync_continue:`Devam et`,sync_background:`Arka planda devam et`,cat_all:`Tüm Kanallar`,cat_favorites:`Favoriler`,cat_recent:`Son İzlenenler`,cat_locked_hint:`Kilitli`,no_program:`Program bilgisi yok`,now_label:`Şimdi`,next_label:`Sonra`,menu_add_favorite:`Favorilere ekle`,menu_remove_favorite:`Favorilerden çıkar`,menu_hide:`Gizle`,menu_unhide:`Göster`,menu_lock:`PIN ile kilitle`,menu_unlock:`Kilidi kaldır`,menu_pin_top:`En üste sabitle`,menu_unpin:`Sabitlemeyi kaldır`,menu_add_to_group:`Gruba ekle`,menu_remove_from_group:`Gruptan çıkar`,menu_new_group:`Yeni grup oluştur`,menu_delete_group:`Grubu sil`,menu_epg_mapping:`EPG eşleştirmesini düzelt`,menu_play_external:`Harici oynatıcıda aç`,group_name:`Grup adı`,group_default_name:`Grubum %1$d`,pin_needed_first:`Önce Ayarlar → Ebeveyn kontrolü bölümünden bir PIN belirleyin.`,locked_content:`Bu içerik kilitli`,channel_number:`Kanal %1$s`,channel_not_found:`Kanal bulunamadı`,player_error_network:`Yayına bağlanılamadı. Bağlantınızı kontrol edin.`,player_error_auth:`Yayına erişim reddedildi (abonelik veya bağlantı sınırı).`,player_error_not_found:`Yayın bulunamadı; kaynak kapalı olabilir.`,player_error_format:`Yayın biçimi desteklenmiyor.`,player_error_decoder:`Bu cihaz yayını çözemedi. Ayarlardan yazılım çözücüyü deneyin.`,player_error_unknown:`Yayın oynatılamadı.`,player_retrying:`Yeniden deneniyor… (%1$d)`,player_audio:`Ses dili`,player_subtitles:`Altyazı`,player_aspect:`Görüntü oranı`,player_quality:`Video kalitesi`,player_auto:`Otomatik`,player_off:`Kapalı`,aspect_fit:`Sığdır`,aspect_fill:`Doldur`,aspect_zoom:`Yakınlaştır`,player_options:`Seçenekler`,player_no_tracks:`Seçenek yok`,player_live:`CANLI`,player_paused:`Duraklatıldı`,player_go_live:`Canlıya dön`,player_favorite_added:`Favorilere eklendi`,player_favorite_removed:`Favorilerden çıkarıldı`,player_hint_live:`OK: kontroller · ◀ kanallar · ▶ yayın akışı · ▲▼ kanal · MENU seçenekler`,live_empty_category:`Bu kategoride kanal yok.`,live_syncing:`Kanallar yükleniyor, lütfen bekleyin…`,minutes_left:`+%1$d dk`,track_n:`Parça %1$d`,epg_mapping_title:`EPG eşleştirmesi`,epg_mapping_auto:`Otomatik eşleştirme`,epg_mapping_filter:`EPG kanalı ara`,epg_mapping_none:`Bu kaynak için EPG kanalı yok. Önce yayın akışını güncelleyin.`,epg_mapping_current:`Şu anki eşleşme: %1$s`,guide_now:`Şimdi`,guide_prev_day:`Önceki gün`,guide_next_day:`Sonraki gün`,guide_category:`Kategori: %1$s`,guide_watch:`İzle`,guide_watch_archive:`Arşivden izle`,guide_remind:`Hatırlat`,guide_remind_off:`Hatırlatmayı kaldır`,guide_record:`Kaydet`,guide_close:`Kapat`,guide_reminder_set:`Hatırlatıcı kuruldu`,guide_no_data:`Bu kanal için yayın akışı yok`,guide_search:`Ara`,guide_hint:`◀ ▶ zaman · OK ayrıntı · CH± sayfa`,guide_empty:`Yayın akışı henüz yok. Kaynağın EPG adresini kontrol edin veya Ayarlar'dan güncelleyin.`,nav_menu_title:`UtopyaTV`,guide_reminder_removed:`Hatırlatıcı kaldırıldı`,player_guide:`Yayın akışı`,shelf_continue:`İzlemeye devam et`,shelf_recent:`Son eklenenler`,shelf_favorites:`Favorilerim`,shelf_see_all:`Tümünü gör`,vod_play:`Oynat`,vod_resume:`Devam et (%1$s)`,vod_restart:`Baştan başla`,vod_mark_watched:`İzlendi olarak işaretle`,vod_mark_unwatched:`İzlenmedi olarak işaretle`,vod_add_favorite:`Favorilere ekle`,vod_remove_favorite:`Favorilerden çıkar`,vod_cast:`Oyuncular: %1$s`,vod_director:`Yönetmen: %1$s`,vod_minutes:`%1$d dk`,vod_season:`%1$d. Sezon`,vod_episodes_loading:`Bölümler yükleniyor…`,vod_no_episodes:`Bölüm bulunamadı.`,vod_episode_title:`%1$d. Bölüm · %2$s`,vod_empty:`Bu kaynakta film/dizi yok.`,vod_next_episode:`Sonraki bölüm %1$d sn içinde`,vod_play_now:`Şimdi oynat`,vod_episodes:`Bölümler`,vod_hint:`OK oynat/duraklat · ▲ kontroller · ◀▶ sar · ▼ bölümler · MENU seçenekler`,vod_watched:`İzlendi`,locked_unlock:`Kilitli · açmak için OK`,shelf_platforms:`Platformlar`,shelf_genres:`Türler`,browse_all:`Tümü`,sort_label:`Sırala: %1$s`,genre_label:`Tür: %1$s`,sort_added:`Yeni eklenen`,sort_name:`A–Z`,sort_rating:`Puan`,sort_year:`Yıl`,browse_count:`%1$d içerik`,search_hint:`Kanal, film, dizi veya program ara`,search_voice:`Sesli ara`,search_recent:`Son aramalar`,search_clear:`Geçmişi temizle`,search_no_results:`"%1$s" için sonuç bulunamadı.`,search_channels:`Kanallar`,search_movies:`Filmler`,search_series:`Diziler`,search_programs:`Programlar`,search_searching:`Aranıyor…`,home_favorite_channels:`Favori kanallar`,home_recent_channels:`Son izlenen kanallar`,home_new_movies:`Yeni filmler`,home_new_series:`Yeni diziler`,home_source:`Kaynak: %1$s`,home_switch_source:`Kaynak değiştir`,home_empty:`Başlamak için Canlı TV, Filmler veya Diziler bölümüne gidin. Favoriler ve izlemeye devam et burada görünecek.`,home_greeting_morning:`Günaydın`,home_greeting_day:`İyi günler`,home_greeting_evening:`İyi akşamlar`,player_archive:`ARŞİV`,player_archive_hint:`◀▶ 30 sn · ⏪⏩ 2 dk · OK duraklat · MENU → Canlıya dön`,archive_unavailable:`Bu program için arşiv adresi oluşturulamadı.`,guide_restart:`Baştan başlat`,player_timeshift:`ZAMAN KAYDIRMA`,timeshift_starting:`Zaman kaydırma başlatılıyor…`,timeshift_failed:`Zaman kaydırma başlatılamadı; canlı yayına dönüldü.`,timeshift_hint:`◀▶ 30 sn · ⏪⏩ 2 dk · OK oynat/duraklat · MENU → Canlıya dön`,timeshift_behind:`Canlının %1$s gerisinde`,rec_tab_recordings:`Kayıtlar`,rec_tab_scheduled:`Zamanlanmış`,rec_tab_downloads:`İndirmeler`,rec_storage:`Depolama: %1$s · %2$s boş`,rec_storage_internal:`Dahili`,rec_storage_usb:`USB/SD %1$d`,rec_storage_pick:`Depolama konumu`,rec_empty:`Henüz kayıt yok. Rehberde bir programı seçip "Kaydet"e basın ya da izlerken MENU → Şimdi kaydet.`,rec_scheduled_empty:`Zamanlanmış kayıt yok.`,dl_empty:`İndirme yok. Film veya bölüm sayfasından "İndir"e basın.`,rec_status_scheduled:`Zamanlandı`,rec_status_recording:`Kaydediliyor`,rec_status_completed:`Tamamlandı`,rec_status_failed:`Başarısız`,rec_status_cancelled:`İptal edildi`,rec_cancel:`Kaydı durdur / iptal et`,rec_delete:`Kaydı sil`,rec_play:`Oynat`,rec_scheduled_ok:`Kayıt zamanlandı: %1$s`,rec_conflict:`Bu saatte başka bir kayıt var: %1$s. Yine de kaydedilsin mi? (Hesabınız tek bağlantıya izin veriyorsa biri başarısız olabilir.)`,rec_no_space:`Yetersiz depolama alanı (en az 500 MB gerekli).`,rec_invalid:`Bu program kaydedilemez (bitmiş).`,rec_now:`Şimdi kaydet`,rec_now_live:`Canlı kayıt`,rec_badge:`KAYIT`,dl_download:`İndir`,dl_downloading:`İndiriliyor %1$d%%`,dl_paused:`Duraklatıldı %1$d%%`,dl_done:`İndirildi · çevrimdışı oynatılabilir`,dl_failed:`İndirme başarısız · tekrar dene`,dl_pause:`Duraklat`,dl_resume:`Devam et`,dl_delete:`İndirmeyi sil`,dl_queued:`Sırada`,dl_started:`İndirme sıraya eklendi`,set_sources:`Kaynaklar`,set_player:`Oynatıcı`,set_appearance:`Görünüm ve dil`,set_epg:`Yayın akışı (EPG)`,set_parental:`Ebeveyn kontrolü`,set_hidden:`Gizlenenler`,set_storage:`Depolama`,set_backup:`Yedekle / Geri yükle`,set_update:`Güncelleme`,set_about:`Hakkında`,set_on:`Açık`,set_off:`Kapalı`,set_active:`Etkin kaynak`,set_make_active:`Etkin yap`,set_edit:`Düzenle`,set_resync:`Şimdi yenile`,set_delete_source:`Kaynağı sil`,set_delete_confirm:`"%1$s" ve tüm verileri silinsin mi?`,set_add_source:`Yeni kaynak ekle`,set_last_sync:`Son yenileme: %1$s`,set_never:`hiç`,set_account:`Hesap bilgisi`,set_account_status:`Durum: %1$s`,set_account_expiry:`Bitiş: %1$s`,set_account_unlimited:`süresiz`,set_account_connections:`Bağlantı: %1$s / %2$s`,set_account_trial:`Deneme hesabı`,set_account_loading:`Hesap bilgisi alınıyor…`,set_account_none:`Hesap bilgisi yalnızca Xtream kaynaklarında gösterilir.`,set_buffer:`Tampon süresi`,set_buffer_value:`%1$d sn`,set_decoder:`Çözücü modu`,set_decoder_hw:`Donanım (önerilen)`,set_decoder_sw:`Yazılım öncelikli (FFmpeg)`,set_preview:`Canlı TV'de önizleme oynat`,set_auto_next:`Sonraki bölümü otomatik oynat`,set_timeshift:`Duraklatınca zaman kaydırma`,set_fallback:`Kanal açılmazsa önceki kanala dön`,set_audio_lang:`Tercih edilen ses dili`,set_sub_lang:`Tercih edilen altyazı`,set_sub_size:`Altyazı boyutu`,set_lang_default:`Yayının varsayılanı`,set_aspect:`Varsayılan görüntü oranı`,set_start:`Açılış ekranı`,start_home:`Ana sayfa`,start_live:`Canlı TV`,start_guide:`Rehber`,start_movies:`Filmler`,start_series:`Diziler`,start_last:`Son izlenen kanal`,set_numbering:`Kanal numaralandırma`,numbering_global:`Tüm liste`,numbering_category:`Kategori içi`,set_language:`Uygulama dili`,lang_tr:`Türkçe`,lang_en:`English`,lang_system:`Cihaz dili`,set_epg_interval:`Otomatik yenileme aralığı`,set_epg_hours:`%1$d saat`,set_epg_offset:`EPG saat kaydırması`,set_epg_offset_value:`%1$+d dk`,set_epg_refresh:`Yayın akışını şimdi güncelle`,set_epg_urls:`Harici XMLTV adresleri kaynak düzenleme ekranından eklenir.`,set_pin_set:`PIN belirle`,set_pin_change:`PIN değiştir`,set_pin_remove:`PIN kaldır`,set_pin_saved:`PIN kaydedildi`,set_pin_removed:`PIN kaldırıldı`,set_pin_confirm:`PIN'i tekrar girin`,set_pin_mismatch:`PIN'ler eşleşmedi`,set_hide_locked:`Kilitli kategorileri tamamen gizle`,set_adult_lock:`Yetişkin kategorilerini otomatik kilitle`,set_parental_hint:`Kategori kilitlemek için Canlı TV'de kategoriye uzun basın.`,set_hidden_categories:`Gizli kategoriler`,set_hidden_channels:`Gizli kanallar`,set_hidden_none:`Gizlenmiş öğe yok.`,set_unhide:`Göster (gizlemeyi kaldır)`,set_backup_now:`Şimdi yedekle`,set_backup_done:`Yedek kaydedildi: %1$s`,set_backup_warning:`Yedek dosyası kaynak parolalarını içerir; güvenli saklayın.`,set_restore:`Geri yükle`,set_restore_none:`Kayıtlı yedek bulunamadı.`,set_restore_confirm:`Bu yedek geri yüklensin mi? Mevcut kaynaklar ve tercihler değiştirilecek.`,set_restore_done:`Yedek geri yüklendi; kaynaklar yenileniyor.`,set_restore_file:`Dosyadan seç`,set_update_check:`Güncellemeleri denetle`,set_update_none:`Uygulama güncel (%1$s).`,set_update_available:`Yeni sürüm: %1$s`,set_update_install:`İndir ve kur`,set_update_downloading:`İndiriliyor… %1$d%%`,set_update_failed:`Güncelleme denetlenemedi. Bağlantınızı kontrol edin.`,set_update_permission:`Kurulum için "Bilinmeyen uygulamaları yükle" izni gerekiyor.`,set_version:`Sürüm %1$s`,set_about_text:`UtopyaTV yalnızca bir oynatıcıdır; içerik sağlamaz. Kendi aboneliğinizin bilgilerini girerek kullanın.`,set_keys:`Kumanda kısayolları`,set_keys_text:`OK/◀: kanal listesi · ▶: yayın akışı · ▲▼/CH±: kanal · 0-9: kanal no · Kırmızı: favori · Yeşil: ses · Sarı: altyazı · Mavi: görüntü oranı · ⏯: duraklat (zaman kaydırma) · MENU/uzun OK: seçenekler`,player_fallback:`Kanal açılamadı; önceki kanala dönüldü.`,mv_title:`Çoklu ekran`,mv_add:`Ekle`,mv_add_channel:`Kanal ekle`,mv_add_movie:`Film ekle`,mv_layout:`Düzen`,mv_layout_2:`İkili (yan yana)`,mv_layout_4:`Dörtlü (ızgara)`,mv_replace:`Değiştir`,mv_remove:`Kaldır`,mv_fullscreen:`Tam ekranda izle`,mv_empty_slot:`+ OK ile içerik ekle`,mv_hint:`◀▲▼▶ pencere seç (ses odaktakinden gelir) · OK seçenekler · MENU düzen`,mv_warn_decoder:`Bu cihaz aynı anda en fazla %1$d video çözebilir; bazı pencereler oynatılamayabilir.`,mv_warn_connections:`Hesabınız aynı anda %1$d bağlantıya izin veriyor; fazla pencere açılamayabilir.`,mv_open:`Çoklu ekranda aç`,mv_pick_channel:`Kanal seç`,mv_pick_movie:`Film seç`,ext_none:`Harici oynatıcı bulunamadı. VLC veya MX Player'ı Play Store'dan kurabilirsiniz.`,ext_choose:`Oynatıcı seçin`,player_speed:`Oynatma hızı`,player_sleep:`Uyku zamanlayıcısı`,sleep_off:`Kapalı`,sleep_minutes:`%1$d dakika sonra`,sleep_triggered:`Uyku zamanlayıcısı oynatmayı durdurdu.`,sleep_set:`Uyku zamanlayıcısı: %1$d dk`,exit_title:`Çıkış`,exit_message:`UtopyaTV'den çıkmak istiyor musunuz?`,player_info:`Yayın bilgisi`,info_video:`Görüntü: %1$s`,info_audio:`Ses: %1$s`,info_none:`Bilgi yok`,info_buffer:`Tampon: %1$s`,vod_prev_ep:`Önceki bölüm`,vod_next_ep:`Sonraki bölüm`,shelf_similar:`Benzer içerikler`,start_first_fav:`İlk favori kanal`,numbering_hidden:`Gizli`,set_accent:`Tema rengi`,accent_blue:`Mavi`,accent_orange:`Turuncu`,accent_green:`Yeşil`,accent_purple:`Mor`,accent_red:`Kırmızı`,set_color_keys:`Renkli tuşlar`,key_red:`Kırmızı tuş`,key_green:`Yeşil tuş`,key_yellow:`Sarı tuş`,key_blue:`Mavi tuş`,act_favorite:`Favori ekle/çıkar`,act_audio:`Ses dili`,act_subtitles:`Altyazı`,act_aspect:`Görüntü oranı`,act_guide:`Yayın akışı`,act_channels:`Kanal listesi`,act_record:`Şimdi kaydet`,act_multiview:`Çoklu ekran`,act_info:`Bilgi bandı`,act_none:`Hiçbiri`,set_remember_tracks:`Seçtiğim ses/altyazı dilini hatırla`,menu_move_up:`Yukarı taşı`,menu_move_down:`Aşağı taşı`,set_test_connection:`Bağlantıyı test et`,set_connection_ok:`Bağlantı başarılı: kaynak çevrimiçi.`,rec_once:`Bir kez kaydet`,rec_daily:`Her gün kaydet`,rec_weekly:`Her hafta kaydet`,rec_repeat_daily:`Her gün`,rec_repeat_weekly:`Her hafta`,onb_stalker:`Stalker Portal`,onb_stalker_desc:`MAG portal adresi ve MAC`,onb_portal:`Portal adresi`,onb_mac:`MAC adresi`,tips_title:`Kumanda kısayolları`,tips_ok:`Anladım`,tip_ok:`OK: kanalı aç · Kanaldayken OK: kanal listesi`,tip_long:`OK'ye uzun bas: favori, gizle, kilitle, gruba ekle, çoklu ekran`,tip_numbers:`Rakam tuşları: kanal numarasına atla`,tip_updown:`Yayında ▲▼ veya CH+/CH−: kanal değiştir`,tip_right:`Yayında ►: yayın akışı · MENU: ses, altyazı, görüntü`,tip_colors:`Renkli tuşlar: favori / ses / altyazı / oran (Ayarlar'dan değişir)`,tip_back:`GERİ: menüye dön · Menüde GERİ: çıkış onayı`,onb_tagline:`Kendi IPTV aboneliğiniz için hızlı ve modern oynatıcı`,onb_feat_live:`Canlı TV ve yayın akışı (EPG), arşiv ve zaman kaydırma`,onb_feat_vod:`Film ve diziler; Netflix, HBO Max, Disney+ gibi platform grupları`,onb_feat_tools:`Kayıt, indirme ve aynı anda iki yayın (çoklu ekran)`,onb_no_content:`Uygulama içerik sağlamaz; kendi aboneliğinizin bilgilerini girersiniz.`,onb_how:`Nasıl bağlanmak istersiniz?`,onb_badge_common:`En yaygın`,onb_badge_easy:`Klavyesiz`,onb_form_qr_title:`Telefonla doldurun`,onb_form_qr_hint:`Uzun adresleri kumandayla yazmak yerine QR kodu okutun. Telefon ve TV aynı Wi-Fi ağında olmalı.`,onb_phone_step1:`Telefon kamerasıyla QR kodu okutun`,onb_phone_step2:`Açılan sayfada bilgilerinizi yazın`,onb_phone_step3:`Gönder'e basın, TV kendiliğinden bağlanır`,onb_hint_m3u:`Sağlayıcınızın verdiği M3U/M3U8 bağlantısını yazın. Birden çok listeyi birleştirmek için adresleri boşlukla ayırın.`,onb_hint_xtream:`Sağlayıcınızın verdiği sunucu adresi, kullanıcı adı ve parolayı yazın.`,onb_hint_stalker:`Portal adresini ve cihazınıza tanımlı MAC adresini yazın.`,onb_hint_file:`Cihazdaki bir .m3u dosyasını seçin.`,onb_optional:`İsteğe bağlı ayarlar`,live_categories:`Kategoriler`,live_channel_count:`%1$d kanal`,live_preview:`Kanal önizleme`,pc_channels:`Kanallar`,pc_picture:`Görüntü`,pc_favorite:`Favori`,pc_record:`Kaydet`,pc_more:`Diğer`,pc_info:`Bilgi`,pc_play:`Oynat`,pc_pause:`Duraklat`,pc_prev:`Önceki`,pc_next:`Sonraki`,pc_speed:`Hız`,mv_add_series:`Dizi ekle`,group_by:`Grupla: %1$s`,group_category:`Kategori`,group_country:`Ülke`,group_genre:`Tür`,group_platform:`Platform`,genre_adult:`Yetişkin`,genre_kids:`Çocuk`,genre_sports:`Spor`,genre_news:`Haber`,genre_docs:`Belgesel`,genre_music:`Müzik ve radyo`,genre_movies:`Film ve dizi`,genre_religion:`Dini`,genre_local:`Yerel`,genre_national:`Ulusal`,genre_uhd:`4K / UHD`,genre_other:`Diğer`,onb_jellyfin:`Jellyfin`,onb_jellyfin_desc:`Kendi medya sunucunuz`,onb_hint_jellyfin:`Jellyfin sunucu adresini (ör. http://192.168.1.10:8096), kullanıcı adınızı ve parolanızı yazın.`,sub_load:`Altyazı dosyası yükle (SRT)`,sub_offset:`Altyazı zamanlaması`,sub_loaded:`Altyazı yüklendi`,sub_failed:`Altyazı dosyası okunamadı`,sub_no_picker:`Bu cihazda dosya seçici yok`,set_sub_color:`Altyazı rengi`,set_sub_bg:`Altyazı arka planı`,color_white:`Beyaz`,color_yellow:`Sarı`,color_cyan:`Camgöbeği`,set_max_quality:`En yüksek video kalitesi`,quality_auto:`Otomatik`,vod_versions:`Sürümler (%1$d)`,vod_version_standard:`Standart`,set_theme:`Tema`,theme_navy:`Lacivert`,theme_amoled:`AMOLED siyah`,theme_graphite:`Grafit`,theme_forest:`Orman`,theme_wine:`Bordo`,set_home_shelves:`Ana sayfa rafları`,set_move_hint:`OK: aç/kapat · Uzun bas: yukarı taşı`,set_filter_words:`Kategori filtre kelimeleri`,set_filter_words_hint:`Kategori adlarından atılır, virgülle ayırın (ör. [RAW], FHD, VIP)`,set_none:`Yok`,set_rec_folder:`Kayıt klasörü`,set_rec_folder_default:`Uygulama deposu (yukarıdaki seçim)`,set_rec_folder_hint:`Biten kayıtlar seçilen klasöre (USB, ağ klasörü…) taşınır. Uzun bas: varsayılana dön.`,nav_extensions:`Eklentiler`,ext_add:`Eklenti ekle`,ext_url:`Eklenti adresi (manifest.json)`,ext_empty:`Henüz eklenti yok. Stremio uyumlu bir eklentinin manifest adresini ekleyin.`,ext_note:`Uygulama içerik sağlamaz; yalnızca kullanma hakkınız olan eklentileri ekleyin.`,ext_remove:`Eklentiyi kaldır`,ext_failed:`Eklenti eklenemedi: adres geçersiz ya da erişilemiyor.`,ext_find_sources:`Kaynakları bul`,ext_sources:`Kaynaklar`,ext_no_sources:`Oynatılabilir kaynak bulunamadı (torrent kaynakları desteklenmez).`,ext_installed:`Kurulu eklentiler`,ext_specials:`Özel bölümler`,sub_url_title:`Altyazı adresi (SRT)`,sub_url_hint:`Bu cihazda dosya seçici yok. Altyazının internet adresini girin.`,brand_short:`UtopyaTV`,os_account:`OpenSubtitles hesabı`,os_account_none:`Ayarlanmadı`,os_account_set:`Ayarlandı`,os_account_hint:`opensubtitles.com'dan ücretsiz API anahtarı alın. Kullanıcı adı/parola isteğe bağlıdır; girilirse günlük indirme hakkı artar.`,os_api_key:`API anahtarı`,os_username:`Kullanıcı adı (isteğe bağlı)`,os_password:`Parola (isteğe bağlı)`,set_auto_subs:`Altyazıyı otomatik bul (OpenSubtitles)`,set_auto_subs_hint:`Yayında seçili dilde altyazı yoksa doğru eşleşen altyazı getirilir`,sub_find:`Altyazı bul (OpenSubtitles)`,sub_searching:`Altyazı aranıyor…`,sub_found:`Altyazı yüklendi: %1$s`,sub_not_found:`Bu içerik için doğru eşleşen altyazı bulunamadı`,sub_no_key:`Ayarlar → Oynatıcı'dan OpenSubtitles API anahtarını girin`,sub_limit:`OpenSubtitles günlük indirme hakkı doldu`,home_hero:`Öne çıkan`,home_up_next:`Sıradaki bölüm`,home_tonight:`Bu akşam maçlar`,home_schedule:`Hatırlatıcılar ve kayıtlar`,home_top_movies:`En yüksek puanlı filmler`,home_top_series:`En yüksek puanlı diziler`,home_top_rated:`En yüksek puanlılar`,home_new_episodes:`Favori dizilerde yeni bölüm`,home_new_episode_badge:`YENİ BÖLÜM`,home_dismiss_new:`Yeni bölüm bildirimini kapat`,home_for_you:`Bugün ne izlesem?`,home_for_you_genres:`Bugün ne izlesem? · %1$s`,home_starting_soon:`Birazdan başlıyor`,home_reminder_badge:`HATIRLATICI`,home_open_channel:`Kanalı aç`,home_genres:`Türlere göz at`,home_edit:`Ana sayfayı düzenle`,home_edit_hint:`OK: taşı · ▲▼: sırayı değiştir · OK: bırak · ▶: aç/kapat`,home_edit_moving:`Taşınıyor`,home_edit_reset:`Varsayılana dön`,home_edit_hidden:`Kapalı raflar`,home_kind_movie:`FİLM`,home_kind_series:`DİZİ`,browse_movie_count:`%1$d film`,browse_series_count:`%1$d dizi`,password_show:`Parolayı göster`,password_hide:`Parolayı gizle`,home_details:`Detaylar`,home_live_now:`ŞİMDİ`,home_rec:`KAYIT`,menu_remove_continue:`İzlemeye devam et'ten kaldır`,menu_remove_up_next:`Sıradaki bölümden kaldır (izleme geçmişi silinir)`,menu_remove_recent:`Son izlenenlerden kaldır`,menu_open:`Aç`,os_phone_title:`Telefondan girin`,os_phone_hint:`QR kodu okutun, anahtarı telefonda yapıştırıp Gönder'e basın. Telefon ve TV aynı Wi-Fi ağında olmalı.`,tz_coming_soon:`Bu bölüm sonraki fazda gelecek.`,tz_feat_tools:`Altyazı arama, arşivden izleme ve ebeveyn kontrolü`,tz_m3u_file_desc:`TV'ye takılı USB bellekteki bir dosya`,tz_hint_file:`TV'ye takılı USB bellekteki bir .m3u dosyasını seçin.`,tz_usb_title:`USB bellekteki listeler`,tz_usb_empty:`Takılı USB bellekte .m3u dosyası bulunamadı. Belleği takıp yeniden deneyin.`,tz_reminder_title:`%1$s başlıyor`,tz_reminder_text:`%1$s kanalında`,tz_keys_text:`OK/◀: kanal listesi · ▶: yayın akışı · ▲▼/CH±: kanal · 0-9: kanal no · Kırmızı: favori · Yeşil: ses · Sarı: altyazı · Mavi: görüntü oranı · ⏯: duraklat · TOOLS/uzun OK: seçenekler`,tz_sub_offset_value:`%1$s sn`,tz_archive_hint:`◀▶ 30 sn · ⏪⏩ 2 dk · OK duraklat · ■ ya da uzun OK → Canlıya dön`,tz_remind_daily:`Her gün hatırlat`,tz_remind_weekly:`Her hafta hatırlat`,tz_rec_note:`Tizen'de yayın kaydı yapılamaz. Zamanlanan programlar başlamadan önce hatırlatılır, oradan kanala geçebilirsiniz.`,tz_onb_help_title:`İpuçları`,tz_onb_help_keyboard:`Uzun adresleri telefondaki SmartThings uygulamasının klavyesiyle yazabilirsiniz (TV ile aynı Wi-Fi'da).`,tz_onb_help_server:`Sunucu adresini sağlayıcınız verir; genellikle http://alanadi:8080 biçimindedir. Sondaki / gerekmez.`,tz_onb_help_creds:`Kullanıcı adı ve parola büyük/küçük harfe duyarlıdır. Parolayı kontrol etmek için yanındaki göz düğmesini kullanın.`,tz_onb_help_m3u:`Birden çok listeyi birleştirmek için adresleri boşlukla ayırın.`,tz_onb_help_file:`Listeyi (.m3u) USB belleğe kopyalayıp TV'ye takın, sonra "Dosya seç"e basın.`,tz_onb_help_epg:`Yayın akışı adresi isteğe bağlıdır; boş bırakırsanız sağlayıcının kendi akışı kullanılır.`,tz_onb_help_privacy:`Bilgileriniz yalnızca bu cihazda saklanır.`},en={app_name:`UtopyaTV`,loading:`Loading…`,ok:`OK`,cancel:`Cancel`,retry:`Retry`,save:`Save`,delete:`Delete`,back:`Back`,pin_wrong:`Wrong PIN`,pin_enter:`Enter PIN`,pin_new:`Set a new PIN`,nav_home:`Home`,nav_live:`Live TV`,nav_guide:`Guide`,nav_movies:`Movies`,nav_series:`Series`,nav_search:`Search`,nav_recordings:`Recordings`,nav_settings:`Settings`,empty_no_provider:`No source has been added yet.`,add_provider:`Add source`,empty_list:`Nothing to show here.`,error_network:`Could not reach the server. Check your internet connection and the address.`,error_timeout:`The server did not respond in time. Please try again.`,error_auth:`Wrong username or password.`,error_expired:`Your subscription has expired.`,error_not_found:`Address not found (404). Check the URL.`,error_server:`Server error. Try again later.`,error_parse:`Could not read the source; it may not be a valid M3U/Xtream source.`,error_empty:`No channels or content were found in the source.`,error_storage:`Not enough storage space.`,error_unknown:`An unexpected error occurred.`,onb_welcome:`Welcome to UtopyaTV`,onb_choose:`Choose a source type to get started. The app provides no content; enter your own subscription details.`,onb_m3u_url:`M3U URL`,onb_m3u_url_desc:`An M3U/M3U8 playlist on the internet`,onb_m3u_file:`Local M3U file`,onb_m3u_file_desc:`Pick a file on this device`,onb_xtream:`Xtream Codes`,onb_xtream_desc:`Server, username and password`,onb_phone:`Enter from phone`,onb_phone_desc:`Scan the QR code and type on your phone`,onb_name:`Source name`,onb_name_ph:`e.g. Home list`,onb_url:`Playlist URL`,onb_server:`Server URL`,onb_username:`Username`,onb_password:`Password`,onb_epg:`EPG (XMLTV) URL — optional`,onb_user_agent:`User-Agent — optional`,onb_live_format:`Live stream format`,onb_connect:`Connect`,onb_validating:`Validating details…`,onb_file_none:`No file picker on this device. You can upload the file with "Enter from phone".`,onb_file_chosen:`Selected file: %1$s`,onb_pick_file:`Choose file`,onb_phone_title:`Scan the QR code with your phone`,onb_phone_hint:`Phone and TV must be on the same Wi-Fi. Address: %1$s`,onb_phone_no_network:`No network found. Make sure the TV is connected via Wi-Fi or cable.`,onb_required:`Please fill in the required fields.`,sync_title:`Preparing source`,sync_connecting:`Connecting…`,sync_categories:`Fetching categories…`,sync_live:`Live channels: %1$d`,sync_movies:`Movies: %1$d`,sync_series:`Series: %1$d`,sync_epg:`Program guide: %1$d programs`,sync_done:`Ready!`,sync_failed:`Sync failed`,sync_continue:`Continue`,sync_background:`Continue in background`,cat_all:`All Channels`,cat_favorites:`Favorites`,cat_recent:`Recently Watched`,cat_locked_hint:`Locked`,no_program:`No program info`,now_label:`Now`,next_label:`Next`,menu_add_favorite:`Add to favorites`,menu_remove_favorite:`Remove from favorites`,menu_hide:`Hide`,menu_unhide:`Show`,menu_lock:`Lock with PIN`,menu_unlock:`Remove lock`,menu_pin_top:`Pin to top`,menu_unpin:`Unpin`,menu_add_to_group:`Add to group`,menu_remove_from_group:`Remove from group`,menu_new_group:`Create new group`,menu_delete_group:`Delete group`,menu_epg_mapping:`Fix EPG mapping`,menu_play_external:`Open in external player`,group_name:`Group name`,group_default_name:`My group %1$d`,pin_needed_first:`First set a PIN in Settings → Parental control.`,locked_content:`This content is locked`,channel_number:`Channel %1$s`,channel_not_found:`Channel not found`,player_error_network:`Could not connect to the stream. Check your connection.`,player_error_auth:`Access to the stream was denied (subscription or connection limit).`,player_error_not_found:`Stream not found; the source may be offline.`,player_error_format:`The stream format is not supported.`,player_error_decoder:`This device could not decode the stream. Try the software decoder in Settings.`,player_error_unknown:`The stream could not be played.`,player_retrying:`Retrying… (%1$d)`,player_audio:`Audio language`,player_subtitles:`Subtitles`,player_aspect:`Aspect ratio`,player_quality:`Video quality`,player_auto:`Auto`,player_off:`Off`,aspect_fit:`Fit`,aspect_fill:`Fill`,aspect_zoom:`Zoom`,player_options:`Options`,player_no_tracks:`No options`,player_live:`LIVE`,player_paused:`Paused`,player_go_live:`Back to live`,player_favorite_added:`Added to favorites`,player_favorite_removed:`Removed from favorites`,player_hint_live:`OK: controls · ◀ channels · ▶ guide · ▲▼ channel · MENU options`,live_empty_category:`No channels in this category.`,live_syncing:`Loading channels, please wait…`,minutes_left:`+%1$d min`,track_n:`Track %1$d`,epg_mapping_title:`EPG mapping`,epg_mapping_auto:`Automatic mapping`,epg_mapping_filter:`Search EPG channels`,epg_mapping_none:`No EPG channels for this source. Update the program guide first.`,epg_mapping_current:`Current mapping: %1$s`,guide_now:`Now`,guide_prev_day:`Previous day`,guide_next_day:`Next day`,guide_category:`Category: %1$s`,guide_watch:`Watch`,guide_watch_archive:`Watch from archive`,guide_remind:`Remind me`,guide_remind_off:`Cancel reminder`,guide_record:`Record`,guide_close:`Close`,guide_reminder_set:`Reminder set`,guide_no_data:`No guide data for this channel`,guide_search:`Search`,guide_hint:`◀ ▶ time · OK details · CH± page`,guide_empty:`No program guide yet. Check the source EPG URL or refresh it in Settings.`,nav_menu_title:`UtopyaTV`,guide_reminder_removed:`Reminder removed`,player_guide:`Program guide`,shelf_continue:`Continue watching`,shelf_recent:`Recently added`,shelf_favorites:`My favorites`,shelf_see_all:`See all`,vod_play:`Play`,vod_resume:`Resume (%1$s)`,vod_restart:`Start over`,vod_mark_watched:`Mark as watched`,vod_mark_unwatched:`Mark as unwatched`,vod_add_favorite:`Add to favorites`,vod_remove_favorite:`Remove from favorites`,vod_cast:`Cast: %1$s`,vod_director:`Director: %1$s`,vod_minutes:`%1$d min`,vod_season:`Season %1$d`,vod_episodes_loading:`Loading episodes…`,vod_no_episodes:`No episodes found.`,vod_episode_title:`Episode %1$d · %2$s`,vod_empty:`No movies/series in this source.`,vod_next_episode:`Next episode in %1$d s`,vod_play_now:`Play now`,vod_episodes:`Episodes`,vod_hint:`OK play/pause · ▲ controls · ◀▶ seek · ▼ episodes · MENU options`,vod_watched:`Watched`,locked_unlock:`Locked · press OK to unlock`,shelf_platforms:`Platforms`,shelf_genres:`Genres`,browse_all:`All`,sort_label:`Sort: %1$s`,genre_label:`Genre: %1$s`,sort_added:`Recently added`,sort_name:`A–Z`,sort_rating:`Rating`,sort_year:`Year`,browse_count:`%1$d titles`,search_hint:`Search channels, movies, series or programs`,search_voice:`Voice search`,search_recent:`Recent searches`,search_clear:`Clear history`,search_no_results:`No results for "%1$s".`,search_channels:`Channels`,search_movies:`Movies`,search_series:`Series`,search_programs:`Programs`,search_searching:`Searching…`,home_favorite_channels:`Favorite channels`,home_recent_channels:`Recently watched channels`,home_new_movies:`New movies`,home_new_series:`New series`,home_source:`Source: %1$s`,home_switch_source:`Switch source`,home_empty:`Go to Live TV, Movies or Series to get started. Favorites and continue watching will appear here.`,home_greeting_morning:`Good morning`,home_greeting_day:`Good afternoon`,home_greeting_evening:`Good evening`,player_archive:`ARCHIVE`,player_archive_hint:`◀▶ 30 s · ⏪⏩ 2 min · OK pause · MENU → Back to live`,archive_unavailable:`Could not build an archive URL for this program.`,guide_restart:`Start over`,player_timeshift:`TIMESHIFT`,timeshift_starting:`Starting timeshift…`,timeshift_failed:`Timeshift could not start; back to live.`,timeshift_hint:`◀▶ 30 s · ⏪⏩ 2 min · OK play/pause · MENU → Back to live`,timeshift_behind:`%1$s behind live`,rec_tab_recordings:`Recordings`,rec_tab_scheduled:`Scheduled`,rec_tab_downloads:`Downloads`,rec_storage:`Storage: %1$s · %2$s free`,rec_storage_internal:`Internal`,rec_storage_usb:`USB/SD %1$d`,rec_storage_pick:`Storage location`,rec_empty:`No recordings yet. Pick a program in the guide and press "Record", or use MENU → Record now while watching.`,rec_scheduled_empty:`No scheduled recordings.`,dl_empty:`No downloads. Press "Download" on a movie or episode page.`,rec_status_scheduled:`Scheduled`,rec_status_recording:`Recording`,rec_status_completed:`Completed`,rec_status_failed:`Failed`,rec_status_cancelled:`Cancelled`,rec_cancel:`Stop / cancel recording`,rec_delete:`Delete recording`,rec_play:`Play`,rec_scheduled_ok:`Recording scheduled: %1$s`,rec_conflict:`Another recording overlaps: %1$s. Record anyway? (If your account allows one connection, one may fail.)`,rec_no_space:`Not enough storage (at least 500 MB required).`,rec_invalid:`This program cannot be recorded (already ended).`,rec_now:`Record now`,rec_now_live:`Live recording`,rec_badge:`REC`,dl_download:`Download`,dl_downloading:`Downloading %1$d%%`,dl_paused:`Paused %1$d%%`,dl_done:`Downloaded · plays offline`,dl_failed:`Download failed · retry`,dl_pause:`Pause`,dl_resume:`Resume`,dl_delete:`Delete download`,dl_queued:`Queued`,dl_started:`Download queued`,set_sources:`Sources`,set_player:`Player`,set_appearance:`Appearance & language`,set_epg:`Program guide (EPG)`,set_parental:`Parental control`,set_hidden:`Hidden items`,set_storage:`Storage`,set_backup:`Backup / Restore`,set_update:`Update`,set_about:`About`,set_on:`On`,set_off:`Off`,set_active:`Active source`,set_make_active:`Make active`,set_edit:`Edit`,set_resync:`Refresh now`,set_delete_source:`Delete source`,set_delete_confirm:`Delete "%1$s" and all its data?`,set_add_source:`Add new source`,set_last_sync:`Last refresh: %1$s`,set_never:`never`,set_account:`Account info`,set_account_status:`Status: %1$s`,set_account_expiry:`Expires: %1$s`,set_account_unlimited:`unlimited`,set_account_connections:`Connections: %1$s / %2$s`,set_account_trial:`Trial account`,set_account_loading:`Fetching account info…`,set_account_none:`Account info is only available for Xtream sources.`,set_buffer:`Buffer length`,set_buffer_value:`%1$d s`,set_decoder:`Decoder mode`,set_decoder_hw:`Hardware (recommended)`,set_decoder_sw:`Prefer software (FFmpeg)`,set_preview:`Play preview in Live TV`,set_auto_next:`Autoplay next episode`,set_timeshift:`Timeshift on pause`,set_fallback:`Return to previous channel on failure`,set_audio_lang:`Preferred audio language`,set_sub_lang:`Preferred subtitles`,set_sub_size:`Subtitle size`,set_lang_default:`Stream default`,set_aspect:`Default aspect ratio`,set_start:`Startup screen`,start_home:`Home`,start_live:`Live TV`,start_guide:`Guide`,start_movies:`Movies`,start_series:`Series`,start_last:`Last watched channel`,set_numbering:`Channel numbering`,numbering_global:`Whole list`,numbering_category:`Within category`,set_language:`App language`,lang_tr:`Turkish`,lang_en:`English`,lang_system:`Device language`,set_epg_interval:`Auto refresh interval`,set_epg_hours:`%1$d hours`,set_epg_offset:`EPG time offset`,set_epg_offset_value:`%1$+d min`,set_epg_refresh:`Update program guide now`,set_epg_urls:`External XMLTV URLs are added in the source edit screen.`,set_pin_set:`Set PIN`,set_pin_change:`Change PIN`,set_pin_remove:`Remove PIN`,set_pin_saved:`PIN saved`,set_pin_removed:`PIN removed`,set_pin_confirm:`Re-enter PIN`,set_pin_mismatch:`PINs did not match`,set_hide_locked:`Hide locked categories entirely`,set_adult_lock:`Auto-lock adult categories`,set_parental_hint:`Long-press a category in Live TV to lock it.`,set_hidden_categories:`Hidden categories`,set_hidden_channels:`Hidden channels`,set_hidden_none:`No hidden items.`,set_unhide:`Show (unhide)`,set_backup_now:`Back up now`,set_backup_done:`Backup saved: %1$s`,set_backup_warning:`The backup file contains source passwords; keep it safe.`,set_restore:`Restore`,set_restore_none:`No saved backup found.`,set_restore_confirm:`Restore this backup? Current sources and preferences will be replaced.`,set_restore_done:`Backup restored; sources are refreshing.`,set_restore_file:`Choose file`,set_update_check:`Check for updates`,set_update_none:`App is up to date (%1$s).`,set_update_available:`New version: %1$s`,set_update_install:`Download & install`,set_update_downloading:`Downloading… %1$d%%`,set_update_failed:`Could not check for updates. Check your connection.`,set_update_permission:`Installing requires the "Install unknown apps" permission.`,set_version:`Version %1$s`,set_about_text:`UtopyaTV is a player only; it provides no content. Use it with your own subscription details.`,set_keys:`Remote shortcuts`,set_keys_text:`OK/◀: channel list · ▶: guide · ▲▼/CH±: channel · 0-9: channel no · Red: favorite · Green: audio · Yellow: subtitles · Blue: aspect · ⏯: pause (timeshift) · MENU/long OK: options`,player_fallback:`Channel failed; returned to the previous channel.`,mv_title:`Multi-view`,mv_add:`Add`,mv_add_channel:`Add channel`,mv_add_movie:`Add movie`,mv_layout:`Layout`,mv_layout_2:`Two (side by side)`,mv_layout_4:`Four (grid)`,mv_replace:`Replace`,mv_remove:`Remove`,mv_fullscreen:`Watch full screen`,mv_empty_slot:`+ Press OK to add content`,mv_hint:`◀▲▼▶ select window (audio follows focus) · OK options · MENU layout`,mv_warn_decoder:`This device can decode at most %1$d videos at once; some windows may not play.`,mv_warn_connections:`Your account allows %1$d simultaneous connections; extra windows may fail.`,mv_open:`Open in multi-view`,mv_pick_channel:`Pick a channel`,mv_pick_movie:`Pick a movie`,ext_none:`No external player found. You can install VLC or MX Player from the Play Store.`,ext_choose:`Choose a player`,player_speed:`Playback speed`,player_sleep:`Sleep timer`,sleep_off:`Off`,sleep_minutes:`After %1$d minutes`,sleep_triggered:`The sleep timer stopped playback.`,sleep_set:`Sleep timer: %1$d min`,exit_title:`Exit`,exit_message:`Do you want to exit UtopyaTV?`,player_info:`Stream info`,info_video:`Video: %1$s`,info_audio:`Audio: %1$s`,info_none:`No info`,info_buffer:`Buffer: %1$s`,vod_prev_ep:`Previous episode`,vod_next_ep:`Next episode`,shelf_similar:`More like this`,start_first_fav:`First favorite channel`,numbering_hidden:`Hidden`,set_accent:`Theme color`,accent_blue:`Blue`,accent_orange:`Orange`,accent_green:`Green`,accent_purple:`Purple`,accent_red:`Red`,set_color_keys:`Color keys`,key_red:`Red key`,key_green:`Green key`,key_yellow:`Yellow key`,key_blue:`Blue key`,act_favorite:`Toggle favorite`,act_audio:`Audio language`,act_subtitles:`Subtitles`,act_aspect:`Aspect ratio`,act_guide:`Program guide`,act_channels:`Channel list`,act_record:`Record now`,act_multiview:`Multi-view`,act_info:`Info banner`,act_none:`None`,set_remember_tracks:`Remember my audio/subtitle choice`,menu_move_up:`Move up`,menu_move_down:`Move down`,set_test_connection:`Test connection`,set_connection_ok:`Connection OK: the source is online.`,rec_once:`Record once`,rec_daily:`Record daily`,rec_weekly:`Record weekly`,rec_repeat_daily:`Daily`,rec_repeat_weekly:`Weekly`,onb_stalker:`Stalker Portal`,onb_stalker_desc:`MAG portal URL and MAC`,onb_portal:`Portal URL`,onb_mac:`MAC address`,tips_title:`Remote shortcuts`,tips_ok:`Got it`,tip_ok:`OK: open channel · OK while watching: channel list`,tip_long:`Long-press OK: favorite, hide, lock, add to group, multi-view`,tip_numbers:`Number keys: jump to channel number`,tip_updown:`While watching ▲▼ or CH+/CH−: change channel`,tip_right:`While watching ►: guide · MENU: audio, subtitles, picture`,tip_colors:`Color keys: favorite / audio / subtitles / aspect (change in Settings)`,tip_back:`BACK: return to menu · BACK in menu: confirm exit`,onb_tagline:`A fast, modern player for your own IPTV subscription`,onb_feat_live:`Live TV with program guide, catch-up and timeshift`,onb_feat_vod:`Movies and series grouped by Netflix, HBO Max, Disney+ and more`,onb_feat_tools:`Recording, downloads and two streams at once (multi-view)`,onb_no_content:`The app provides no content; you enter your own subscription details.`,onb_how:`How would you like to connect?`,onb_badge_common:`Most common`,onb_badge_easy:`No typing`,onb_form_qr_title:`Fill in from your phone`,onb_form_qr_hint:`Scan the QR code instead of typing long addresses with the remote. Phone and TV must be on the same Wi-Fi.`,onb_phone_step1:`Scan the QR code with your phone camera`,onb_phone_step2:`Enter your details on the page that opens`,onb_phone_step3:`Tap Send and the TV connects automatically`,onb_hint_m3u:`Enter the M3U/M3U8 link from your provider. To merge several lists, separate the addresses with spaces.`,onb_hint_xtream:`Enter the server address, username and password from your provider.`,onb_hint_stalker:`Enter the portal address and the MAC address registered for your device.`,onb_hint_file:`Choose an .m3u file on this device.`,onb_optional:`Optional settings`,live_categories:`Categories`,live_channel_count:`%1$d channels`,live_preview:`Channel preview`,pc_channels:`Channels`,pc_picture:`Picture`,pc_favorite:`Favorite`,pc_record:`Record`,pc_more:`More`,pc_info:`Info`,pc_play:`Play`,pc_pause:`Pause`,pc_prev:`Previous`,pc_next:`Next`,pc_speed:`Speed`,mv_add_series:`Add series`,group_by:`Group: %1$s`,group_category:`Category`,group_country:`Country`,group_genre:`Genre`,group_platform:`Platform`,genre_adult:`Adult`,genre_kids:`Kids`,genre_sports:`Sports`,genre_news:`News`,genre_docs:`Documentary`,genre_music:`Music and radio`,genre_movies:`Movies and series`,genre_religion:`Religious`,genre_local:`Local`,genre_national:`National`,genre_uhd:`4K / UHD`,genre_other:`Other`,onb_jellyfin:`Jellyfin`,onb_jellyfin_desc:`Your own media server`,onb_hint_jellyfin:`Enter your Jellyfin server address (e.g. http://192.168.1.10:8096), username and password.`,sub_load:`Load subtitle file (SRT)`,sub_offset:`Subtitle timing`,sub_loaded:`Subtitle loaded`,sub_failed:`Could not read subtitle file`,sub_no_picker:`No file picker on this device`,set_sub_color:`Subtitle color`,set_sub_bg:`Subtitle background`,color_white:`White`,color_yellow:`Yellow`,color_cyan:`Cyan`,set_max_quality:`Maximum video quality`,quality_auto:`Automatic`,vod_versions:`Versions (%1$d)`,vod_version_standard:`Standard`,set_theme:`Theme`,theme_navy:`Navy`,theme_amoled:`AMOLED black`,theme_graphite:`Graphite`,theme_forest:`Forest`,theme_wine:`Wine`,set_home_shelves:`Home shelves`,set_move_hint:`OK: show/hide · Long-press: move up`,set_filter_words:`Category filter words`,set_filter_words_hint:`Removed from category names, comma separated (e.g. [RAW], FHD, VIP)`,set_none:`None`,set_rec_folder:`Recording folder`,set_rec_folder_default:`App storage (selection above)`,set_rec_folder_hint:`Finished recordings are moved to the chosen folder (USB, network share…). Long-press: reset to default.`,nav_extensions:`Add-ons`,ext_add:`Add add-on`,ext_url:`Add-on address (manifest.json)`,ext_empty:`No add-ons yet. Add the manifest address of a Stremio-compatible add-on.`,ext_note:`The app provides no content; only add add-ons you are entitled to use.`,ext_remove:`Remove add-on`,ext_failed:`Could not add the add-on: invalid or unreachable address.`,ext_find_sources:`Find sources`,ext_sources:`Sources`,ext_no_sources:`No playable source found (torrent sources are not supported).`,ext_installed:`Installed add-ons`,ext_specials:`Specials`,sub_url_title:`Subtitle address (SRT)`,sub_url_hint:`This device has no file picker. Enter the subtitle's web address.`,brand_short:`UtopyaTV`,os_account:`OpenSubtitles account`,os_account_none:`Not set`,os_account_set:`Set`,os_account_hint:`Get a free API key from opensubtitles.com. Username/password are optional and raise the daily download limit.`,os_api_key:`API key`,os_username:`Username (optional)`,os_password:`Password (optional)`,set_auto_subs:`Find subtitles automatically (OpenSubtitles)`,set_auto_subs_hint:`If the stream has no subtitle in your language, a correctly matched one is fetched`,sub_find:`Find subtitles (OpenSubtitles)`,sub_searching:`Searching subtitles…`,sub_found:`Subtitle loaded: %1$s`,sub_not_found:`No correctly matching subtitle found for this title`,sub_no_key:`Enter your OpenSubtitles API key in Settings → Player`,sub_limit:`OpenSubtitles daily download limit reached`,home_hero:`Featured`,home_up_next:`Up next`,home_tonight:`Tonight's matches`,home_schedule:`Reminders and recordings`,home_top_movies:`Top rated movies`,home_top_series:`Top rated series`,home_top_rated:`Top rated`,home_new_episodes:`New episodes in your favorites`,home_new_episode_badge:`NEW EPISODE`,home_dismiss_new:`Dismiss new episode alert`,home_for_you:`What to watch today?`,home_for_you_genres:`What to watch today? · %1$s`,home_starting_soon:`Starting soon`,home_reminder_badge:`REMINDER`,home_open_channel:`Open channel`,home_genres:`Browse by genre`,home_edit:`Edit home`,home_edit_hint:`OK: move · ▲▼: reorder · OK: drop · ▶: show/hide`,home_edit_moving:`Moving`,home_edit_reset:`Reset to default`,home_edit_hidden:`Hidden shelves`,home_kind_movie:`MOVIE`,home_kind_series:`SERIES`,browse_movie_count:`%1$d movies`,browse_series_count:`%1$d series`,password_show:`Show password`,password_hide:`Hide password`,home_details:`Details`,home_live_now:`NOW`,home_rec:`REC`,menu_remove_continue:`Remove from Continue watching`,menu_remove_up_next:`Remove from Up next (clears watch history)`,menu_remove_recent:`Remove from recently watched`,menu_open:`Open`,os_phone_title:`Enter from your phone`,os_phone_hint:`Scan the QR code, paste the key on your phone and tap Send. Phone and TV must be on the same Wi-Fi.`,tz_coming_soon:`This section is coming in a later phase.`,tz_feat_tools:`Subtitle search, catch-up and parental control`,tz_m3u_file_desc:`A file on a USB drive plugged into the TV`,tz_hint_file:`Choose an .m3u file on the USB drive plugged into the TV.`,tz_usb_title:`Playlists on USB drive`,tz_usb_empty:`No .m3u file found on the USB drive. Plug in the drive and try again.`,tz_reminder_title:`%1$s is starting`,tz_reminder_text:`on %1$s`,tz_keys_text:`OK/◀: channel list · ▶: guide · ▲▼/CH±: channel · 0-9: channel no · Red: favourite · Green: audio · Yellow: subtitles · Blue: aspect ratio · ⏯: pause · TOOLS/long OK: options`,tz_sub_offset_value:`%1$s s`,tz_archive_hint:`◀▶ 30 s · ⏪⏩ 2 min · OK pause · ■ or long OK → Back to live`,tz_remind_daily:`Remind every day`,tz_remind_weekly:`Remind every week`,tz_rec_note:`Recording is not possible on Tizen. Scheduled programs are reminded before they start, from where you can switch to the channel.`,tz_onb_help_title:`Tips`,tz_onb_help_keyboard:`You can type long addresses with the SmartThings app's keyboard on your phone (same Wi-Fi as the TV).`,tz_onb_help_server:`Your provider gives you the server address; it usually looks like http://domain:8080. No trailing / needed.`,tz_onb_help_creds:`Username and password are case-sensitive. Use the eye button next to the password to check it.`,tz_onb_help_m3u:`To merge several lists, separate the addresses with spaces.`,tz_onb_help_file:`Copy the list (.m3u) to a USB stick, plug it into the TV, then press "Choose file".`,tz_onb_help_epg:`The guide address is optional; if left empty, the provider's own guide is used.`,tz_onb_help_privacy:`Your details are stored only on this device.`},tn=`utopya.lang`,nn={tr:$t,en};function rn(){try{return localStorage.getItem(tn)===`en`?`en`:`tr`}catch(e){return`tr`}}var an=I(rn());function on(e){an.value=e;try{localStorage.setItem(tn,e)}catch(e){}}function R(e,...t){var n,r;let i=(n=(r=nn[an.value][e])==null?$t[e]:r)==null?e:n,a=0;return t.length?i.replace(/%(?:(\d)\$)?(\+)?[sd]/g,(e,n,r)=>{let i=t[n?n-1:a++];return r&&typeof i==`number`&&i>=0?`+${i}`:String(i)}):i}var sn=(e,t)=>e.replace(/(image\.tmdb\.org\/t\/p\/)(original|w\d+)\//,(e,n,r)=>r!==`original`&&+r.slice(1)<=t?e:`${n}w${t}/`),cn=null,ln=e=>{let t=e.getAttribute(`data-src`);t&&e.getAttribute(`src`)!==t&&(e.src=t)};function un(){return cn||(cn=new IntersectionObserver(e=>{for(let t of e){let e=t.target;if(t.intersectionRatio>0){ln(e);let t=e.closest(`.shelf-row > *`),n=t&&t.nextElementSibling;n&&Array.prototype.forEach.call(n.querySelectorAll(`img[data-src]`),ln)}else e.getAttribute(`src`)&&!e.complete&&e.removeAttribute(`src`)}},{rootMargin:`20% 0px`}),cn)}function dn(e){let t=F(null);return P(()=>{let e=t.current;e.getAttribute(`src`)&&e.removeAttribute(`src`);let n=un();return n.observe(e),()=>n.unobserve(e)},[e.src]),M(`img`,{ref:t,"data-src":e.src,alt:e.alt||``,class:e.class,onLoad:e=>un().unobserve(e.currentTarget),onError:e.onError})}var fn={search:`M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z`,play:`M8 5v14l11-7z`,pause:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`,check:`M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z`,star:`M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z`,starOutline:`M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z`,lock:`M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z`,pin:`M16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3z`,tune:`M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z`,list:`M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z`,guide:`M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z`,audio:`M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3h-6z`,subtitles:`M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM4 12h4v2H4v-2zm10 6H4v-2h10v2zm6 0h-4v-2h4v2zm0-4H10v-2h10v2z`,aspect:`M19 12h-2v3h-3v2h5v-5zM7 9h3V7H5v5h2V9zm14-6H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z`,edit:`M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z`,more:`M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z`,error:`M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z`,dns:`M20 13H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1v-6c0-.55-.45-1-1-1zM7 19c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM20 3H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zM7 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z`,link:`M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z`,qr:`M3 11h8V3H3v8zm2-6h4v4H5V5zM3 21h8v-8H3v8zm2-6h4v4H5v-4zM13 3v8h8V3h-8zm6 6h-4V5h4v4zM13 13h2v2h-2zM15 15h2v2h-2zM13 17h2v2h-2zM17 17h2v2h-2zM19 19h2v2h-2zM15 19h2v2h-2zM17 13h2v2h-2zM19 15h2v2h-2z`,file:`M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z`,live:`M21 6h-7.59l3.29-3.29L16 2l-4 4-4-4-.71.71L10.59 6H3c-1.1 0-2 .89-2 2v12c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V8c0-1.11-.9-2-2-2zm0 14H3V8h18v12zM9 10v8l7-4z`,movie:`M18 4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4z`,grid:`M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z`,chevron:`M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z`,add:`M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z`,visibility:`M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z`,visibilityOff:`M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z`,back:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`,folder:`M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z`,settings:`M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.49.49 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.48.48 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96a.49.49 0 0 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6A3.6 3.6 0 1 1 12 8.4a3.6 3.6 0 0 1 0 7.2z`};function pn(e){let t=F(null),[n,r]=N(!1),i=M(`div`,{class:`field-box`,"data-focus":!0,"data-focus-default":e.initial||void 0,onClick:()=>t.current.focus(),children:M(`input`,{ref:t,tabIndex:-1,type:e.password&&!n?`password`:`text`,value:e.value,placeholder:e.placeholder,autocomplete:`off`,autocapitalize:`off`,spellcheck:!1,onInput:t=>e.onInput(t.currentTarget.value)})});return M(`div`,{class:`field ${e.class||``}`,children:[M(`span`,{class:`field-label`,children:e.label}),e.password?M(`div`,{class:`field-row`,children:[i,M(`button`,{class:`eye-btn`,"data-focus":!0,"aria-label":R(n?`password_hide`:`password_show`),onClick:()=>r(e=>!e),children:M(z,{name:n?`visibilityOff`:`visibility`})})]}):i]})}function z({name:e,class:t}){return M(`svg`,{class:t?`icon ${t}`:`icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:M(`path`,{d:fn[e],fill:`currentColor`})})}function mn(e){let t=F(null),n=F(document.activeElement);return P(()=>(L(t.current),()=>{var e;return(e=n.current)==null?void 0:e.focus()}),[]),Wt(t=>t===`back`?(e.onDismiss(),!0):`default`),M(`div`,{class:`scrim`,"data-focus-scope":!0,children:M(`div`,{class:`dialog glass`,ref:t,role:`dialog`,children:[M(`h2`,{children:e.title}),M(`p`,{children:e.message}),M(`div`,{class:`row`,children:[M(`button`,{class:`btn`,"data-focus":!0,"data-focus-default":!0,onClick:e.onConfirm,children:e.confirmLabel||R(`ok`)}),M(`button`,{class:`btn`,"data-focus":!0,onClick:e.onDismiss,children:R(`cancel`)})]})]})})}var hn=I(null),gn;function B(e){hn.value=e,clearTimeout(gn),gn=window.setTimeout(()=>hn.value=null,2e3)}function _n(){return hn.value?M(`div`,{class:`toast`,children:hn.value}):null}function vn(e){let t=F(null),n=F(document.activeElement);P(()=>(L(t.current),()=>n.current&&n.current.isConnected&&n.current.focus()),[]),Wt(t=>t===`back`?(e.onClose(),!0):`default`);let r=e.items.some(e=>e.checked);return M(`div`,{class:`scrim`,"data-focus-scope":!0,children:M(`div`,{class:`menu-dialog`,ref:t,role:`dialog`,children:[M(`h2`,{children:e.title}),M(`div`,{class:`menu-list`,children:e.items.map((t,n)=>M(`button`,{class:`menu-item${t.checked?` checked`:``}`,"data-focus":!0,"data-focus-default":(r?t.checked:n===0)||void 0,onClick:()=>{e.onClose(),t.onSelect()},children:[t.label,t.checked&&M(z,{name:`check`})]},n))})]})})}function yn(e){let[t,n]=N(``),r=F(void 0),i=F(e);return i.current=e,P(()=>()=>clearTimeout(r.current),[]),{digits:t,push:e=>{let a=(t+e).slice(0,4);clearTimeout(r.current);let o=()=>{n(``);let e=parseInt(a,10);e>0&&i.current(e)};a.length===4?o():(n(a),r.current=window.setTimeout(o,1500))}}}function bn({digits:e}){return e?M(`div`,{class:`number-box`,children:e}):null}function xn(e){let[t,n]=N(``),[r,i]=N(!1),a=F(null),o=F(document.activeElement);P(()=>(L(a.current),()=>o.current&&o.current.isConnected&&o.current.focus()),[]);let s=r=>{let a=(t+r).slice(0,4);a.length<4?(n(a),i(!1)):(n(``),e.check(a)?e.onDone(a):i(!0))};return Wt((r,i)=>r===`back`&&i.keyCode!==8?(e.onClose(),!0):r.startsWith(`digit`)?(s(r.slice(5)),!0):i.keyCode===8||i.keyCode===46?(n(t.slice(0,-1)),!0):`default`),M(`div`,{class:`scrim`,"data-focus-scope":!0,children:M(`div`,{class:`pin-dialog`,ref:a,role:`dialog`,children:[M(`h2`,{children:e.title}),M(`p`,{class:`pin-dots`,children:[0,1,2,3].map(e=>e<t.length?`●`:`○`).join(` `)}),M(`p`,{class:`pin-error`,children:r?R(`pin_wrong`):`\xA0`}),M(`div`,{class:`pin-pad`,children:[`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`⌫`,`0`].map(e=>M(`button`,{class:`btn outline pin-key`,"data-focus":!0,"data-focus-default":e===`1`||void 0,onClick:()=>e===`⌫`?n(t.slice(0,-1)):s(e),children:e},e))})]})})}function Sn(e){let[t,n]=N(e.initial),r=F(null);return P(()=>{L(r.current)},[]),Wt(t=>t===`back`?(e.onClose(),!0):`default`),M(`div`,{class:`scrim`,"data-focus-scope":!0,children:M(`div`,{class:`menu-dialog`,ref:r,role:`dialog`,children:[M(`h2`,{children:e.title}),M(pn,{label:e.label,value:t,onInput:n,placeholder:e.placeholder,password:e.password,initial:!0}),M(`button`,{class:`btn primary`,"data-focus":!0,onClick:()=>{e.onClose(),e.onSave(t)},children:R(`save`)})]})})}function Cn({text:e,onClose:t}){let n=F(null);return P(()=>{L(n.current)},[]),Wt(e=>e===`back`?(t(),!0):`default`),M(`div`,{class:`scrim`,"data-focus-scope":!0,children:M(`div`,{class:`dialog glass`,ref:n,role:`dialog`,children:[M(`p`,{children:e}),M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:t,children:R(`ok`)})]})})}function wn({title:e}){return M(`section`,{class:`placeholder`,children:[M(`h1`,{children:e}),M(`p`,{class:`muted`,children:R(`tz_coming_soon`)})]})}var Tn=Uint8Array,En=Uint16Array,Dn=Int32Array,On=new Tn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),kn=new Tn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),An=new Tn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),jn=function(e,t){for(var n=new En(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new Dn(n[30]),r=1;r<30;++r)for(var a=n[r];a<n[r+1];++a)i[a]=a-n[r]<<5|r;return{b:n,r:i}},Mn=jn(On,2),Nn=Mn.b,Pn=Mn.r;Nn[28]=258,Pn[258]=28;var Fn=jn(kn,0),In=Fn.b;Fn.r;for(var Ln=new En(32768),Rn=0;Rn<32768;++Rn){var zn=(Rn&43690)>>1|(Rn&21845)<<1;zn=(zn&52428)>>2|(zn&13107)<<2,zn=(zn&61680)>>4|(zn&3855)<<4,Ln[Rn]=((zn&65280)>>8|(zn&255)<<8)>>1}for(var Bn=(function(e,t,n){for(var r=e.length,i=0,a=new En(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new En(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new En(1<<t);var c=15-t;for(i=0;i<r;++i)if(e[i])for(var l=i<<4|e[i],u=t-e[i],d=o[e[i]-1]++<<u,f=d|(1<<u)-1;d<=f;++d)s[Ln[d]>>c]=l}else for(s=new En(r),i=0;i<r;++i)e[i]&&(s[i]=Ln[o[e[i]-1]++]>>15-e[i]);return s}),Vn=new Tn(288),Rn=0;Rn<144;++Rn)Vn[Rn]=8;for(var Rn=144;Rn<256;++Rn)Vn[Rn]=9;for(var Rn=256;Rn<280;++Rn)Vn[Rn]=7;for(var Rn=280;Rn<288;++Rn)Vn[Rn]=8;for(var Hn=new Tn(32),Rn=0;Rn<32;++Rn)Hn[Rn]=5;var Un=Bn(Vn,9,1),Wn=Bn(Hn,5,1),Gn=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},Kn=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},qn=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},Jn=function(e){return(e+7)/8|0},Yn=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new Tn(e.subarray(t,n))},Xn=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],Zn=function(e,t,n){var r=Error(t||Xn[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,Zn),!n)throw r;return r},Qn=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new Tn(0);var o=!n,s=o||t.i!=2,c=t.i;o&&(n=new Tn(i*3));var l=function(e){var t=n.length;if(e>t){var r=new Tn(Math.max(t*2,e));r.set(n),n=r}},u=t.f||0,d=t.p||0,f=t.b||0,p=t.l,m=t.d,h=t.m,g=t.n,_=i*8;do{if(!p){u=Kn(e,d,1);var v=Kn(e,d+1,3);if(d+=3,!v){var y=Jn(d)+4,b=e[y-4]|e[y-3]<<8,x=y+b;if(x>i){c&&Zn(0);break}s&&l(f+b),n.set(e.subarray(y,x),f),t.b=f+=b,t.p=d=x*8,t.f=u;continue}if(v==1)p=Un,m=Wn,h=9,g=5;else if(v==2){var S=Kn(e,d,31)+257,ee=Kn(e,d+10,15)+4,C=S+Kn(e,d+5,31)+1;d+=14;for(var w=new Tn(C),T=new Tn(19),E=0;E<ee;++E)T[An[E]]=Kn(e,d+E*3,7);d+=ee*3;for(var D=Gn(T),O=(1<<D)-1,k=Bn(T,D,1),E=0;E<C;){var te=k[Kn(e,d,O)];d+=te&15;var y=te>>4;if(y<16)w[E++]=y;else{var A=0,j=0;for(y==16?(j=3+Kn(e,d,3),d+=2,A=w[E-1]):y==17?(j=3+Kn(e,d,7),d+=3):y==18&&(j=11+Kn(e,d,127),d+=7);j--;)w[E++]=A}}var ne=w.subarray(0,S),re=w.subarray(S);h=Gn(ne),g=Gn(re),p=Bn(ne,h,1),m=Bn(re,g,1)}else Zn(1);if(d>_){c&&Zn(0);break}}s&&l(f+131072);for(var ie=(1<<h)-1,ae=(1<<g)-1,oe=d;;oe=d){var A=p[qn(e,d)&ie],se=A>>4;if(d+=A&15,d>_){c&&Zn(0);break}if(A||Zn(2),se<256)n[f++]=se;else if(se==256){oe=d,p=null;break}else{var ce=se-254;if(se>264){var E=se-257,le=On[E];ce=Kn(e,d,(1<<le)-1)+Nn[E],d+=le}var ue=m[qn(e,d)&ae],de=ue>>4;ue||Zn(3),d+=ue&15;var re=In[de];if(de>3){var le=kn[de];re+=qn(e,d)&(1<<le)-1,d+=le}if(d>_){c&&Zn(0);break}s&&l(f+131072);var M=f+ce;if(f<re){var fe=a-re,pe=Math.min(re,M);for(fe+f<0&&Zn(3);f<pe;++f)n[f]=r[fe+f]}for(;f<M;++f)n[f]=n[f-re]}}t.l=p,t.p=oe,t.b=f,t.f=u,p&&(u=1,t.m=h,t.d=m,t.n=g)}while(!u);return f!=n.length&&o?Yn(n,0,f):n.subarray(0,f)},$n=new Tn(0),er=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&Zn(6,`invalid gzip data`);var t=e[3],n=10;t&4&&(n+=(e[10]|e[11]<<8)+2);for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[n++]);return n+(t&2)},tr=function(){function e(e,t){typeof e==`function`&&(t=e,e={}),this.ondata=t;var n=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:n?n.length:0},this.o=new Tn(32768),this.p=new Tn(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||Zn(5),this.d&&Zn(4),!this.p.length)this.p=e;else if(e.length){var t=new Tn(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=Qn(this.p,this.s,this.o);this.ondata(Yn(n,t,this.s.b),this.d),this.o=Yn(n,this.s.b-32768),this.s.b=this.o.length,this.p=Yn(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),nr=function(){function e(e,t){this.v=1,this.r=0,tr.call(this,e,t)}return e.prototype.push=function(e,t){if(tr.prototype.e.call(this,e),this.r+=e.length,this.v){var n=this.p.subarray(this.v-1),r=n.length>3?er(n):4;if(r>n.length){if(!t)return}else this.v>1&&this.onmember&&this.onmember(this.r-n.length);this.p=n.subarray(r),this.v=0}tr.prototype.c.call(this,0),this.s.f&&!this.s.l?(this.v=Jn(this.s.p)+9,this.s={i:0},this.o=new Tn(0),this.push(new Tn(0),t)):t&&tr.prototype.c.call(this,t)},e}(),rr=typeof TextDecoder<`u`&&new TextDecoder;try{rr.decode($n,{stream:!0})}catch(e){}function ir(e){"@babel/helpers - typeof";return ir=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},ir(e)}function ar(e,t){if(ir(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(ir(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function or(e){var t=ar(e,`string`);return ir(t)==`symbol`?t:t+``}function sr(e,t,n){return(t=or(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cr=class extends Error{constructor(e,t){super(t||e),sr(this,`error`,void 0),this.error=e}},lr=e=>`error_${e.toLowerCase()}`;function ur(e){return e instanceof cr?e.error:e&&e.name===`QuotaExceededError`?`STORAGE`:`UNKNOWN`}var dr=e=>e,fr=e=>e.trim().replace(/[.,]+$/,``);function pr(e,t){return new Promise((n,r)=>{let i=setTimeout(()=>r(new cr(`TIMEOUT`)),t);e.then(e=>{clearTimeout(i),n(e)},e=>{clearTimeout(i),r(e)})})}async function mr(e,t=3e4){let n;try{n=await pr(fetch(dr(e),{credentials:`omit`}),t)}catch(e){throw e instanceof cr?e:new cr(`NETWORK`,String(e))}if(n.ok)return n;throw n.status===401||n.status===403?new cr(`AUTH`):n.status===404?new cr(`NOT_FOUND`):n.status>=500?new cr(`SERVER`,String(n.status)):new cr(`NETWORK`,String(n.status))}async function hr(e,t,n=6e4){let r=new TextDecoder(`utf-8`),i=e.body.getReader(),a,o=[],s=(e,t)=>{let n=r.decode(e,{stream:!t});n&&o.push(n)};try{for(;;){let{done:e,value:r}=await pr(i.read(),n);a===void 0&&r&&r.length&&(a=r[0]===31&&r[1]===139?new nr((e,t)=>s(e,t)):null),e?a?a.push(new Uint8Array,!0):s(new Uint8Array,!0):a?a.push(r):s(r,!1);let c=o;o=[];for(let e of c)if(await t(e)===!1){i.cancel();return}if(e)return}}catch(e){throw i.cancel(),e instanceof cr?e:new cr(`NETWORK`,String(e))}}function gr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?gr(Object(n),!0).forEach(function(t){sr(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var _r=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,vr=Object.keys,yr=Array.isArray;function br(e,t){return typeof t!=`object`||vr(t).forEach((function(n){e[n]=t[n]})),e}typeof Promise>`u`||_r.Promise||(_r.Promise=Promise);var xr=Object.getPrototypeOf,Sr={}.hasOwnProperty;function Cr(e,t){return Sr.call(e,t)}function wr(e,t){typeof t==`function`&&(t=t(xr(e))),(typeof Reflect>`u`?vr:Reflect.ownKeys)(t).forEach((n=>{Er(e,n,t[n])}))}var Tr=Object.defineProperty;function Er(e,t,n,r){Tr(e,t,br(n&&Cr(n,`get`)&&typeof n.get==`function`?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function Dr(e){return{from:function(t){return e.prototype=Object.create(t.prototype),Er(e.prototype,`constructor`,e),{extend:wr.bind(null,e.prototype)}}}}var Or=Object.getOwnPropertyDescriptor;function kr(e,t){let n;return Or(e,t)||(n=xr(e))&&kr(n,t)}var Ar=[].slice;function jr(e,t,n){return Ar.call(e,t,n)}function Mr(e,t){return t(e)}function Nr(e){if(!e)throw Error(`Assertion Failed`)}function Pr(e){_r.setImmediate?setImmediate(e):setTimeout(e,0)}function Fr(e,t){return e.reduce(((e,n,r)=>{var i=t(n,r);return i&&(e[i[0]]=i[1]),e}),{})}function Ir(e,t){if(typeof t==`string`&&Cr(e,t))return e[t];if(!t)return e;if(typeof t!=`string`){for(var n=[],r=0,i=t.length;r<i;++r){var a=Ir(e,t[r]);n.push(a)}return n}var o=t.indexOf(`.`);if(o!==-1){var s=e[t.substr(0,o)];return s==null?void 0:Ir(s,t.substr(o+1))}}function Lr(e,t,n){if(e&&t!==void 0&&(!(`isFrozen`in Object)||!Object.isFrozen(e))){if(typeof t!=`string`&&`length`in t){Nr(typeof n!=`string`&&`length`in n);for(var r=0,i=t.length;r<i;++r)Lr(e,t[r],n[r])}else{var a=t.indexOf(`.`);if(a!==-1){var o=t.substr(0,a),s=t.substr(a+1);if(s===``)n===void 0?yr(e)&&!isNaN(parseInt(o))?e.splice(o,1):delete e[o]:e[o]=n;else{var c=e[o];c&&Cr(e,o)||(c=e[o]={}),Lr(c,s,n)}}else n===void 0?yr(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}}function Rr(e){var t={};for(var n in e)Cr(e,n)&&(t[n]=e[n]);return t}var zr=[].concat;function Br(e){return zr.apply([],e)}var Vr=`BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey`.split(`,`).concat(Br([8,16,32,64].map((e=>[`Int`,`Uint`,`Float`].map((t=>t+e+`Array`)))))).filter((e=>_r[e])),Hr=Vr.map((e=>_r[e]));Fr(Vr,(e=>[e,!0]));var Ur=null;function Wr(e){Ur=typeof WeakMap<`u`&&new WeakMap;let t=Gr(e);return Ur=null,t}function Gr(e){if(!e||typeof e!=`object`)return e;let t=Ur&&Ur.get(e);if(t)return t;if(yr(e)){t=[],Ur&&Ur.set(e,t);for(var n=0,r=e.length;n<r;++n)t.push(Gr(e[n]))}else if(Hr.indexOf(e.constructor)>=0)t=e;else{let n=xr(e);for(var i in t=n===Object.prototype?{}:Object.create(n),Ur&&Ur.set(e,t),e)Cr(e,i)&&(t[i]=Gr(e[i]))}return t}var{toString:Kr}={};function qr(e){return Kr.call(e).slice(8,-1)}var Jr=typeof Symbol<`u`?Symbol.iterator:`@@iterator`,Yr=typeof Jr==`symbol`?function(e){var t;return e!=null&&(t=e[Jr])&&t.apply(e)}:function(){return null},Xr={};function Zr(e){var t,n,r,i;if(arguments.length===1){if(yr(e))return e.slice();if(this===Xr&&typeof e==`string`)return[e];if(i=Yr(e)){for(n=[];!(r=i.next()).done;)n.push(r.value);return n}if(e==null)return[e];if(typeof(t=e.length)==`number`){for(n=Array(t);t--;)n[t]=e[t];return n}return[e]}for(t=arguments.length,n=Array(t);t--;)n[t]=arguments[t];return n}var Qr=typeof Symbol<`u`?e=>e[Symbol.toStringTag]===`AsyncFunction`:()=>!1,$r=typeof location<`u`&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function ei(e,t){$r=e,ti=t}var ti=()=>!0,ni=!Error(``).stack;function ri(){if(ni)try{throw ri.arguments,Error()}catch(e){return e}return Error()}function ii(e,t){var n=e.stack;return n?(t=t||0,n.indexOf(e.name)===0&&(t+=(e.name+e.message).split(`
|
|
3
|
-
`).length),n.split(`
|
|
4
|
-
`).slice(t).filter(ti).map((e=>`
|
|
5
|
-
`+e)).join(``)):``}var ai=[`Unknown`,`Constraint`,`Data`,`TransactionInactive`,`ReadOnly`,`Version`,`NotFound`,`InvalidState`,`InvalidAccess`,`Abort`,`Timeout`,`QuotaExceeded`,`Syntax`,`DataClone`],oi=[`Modify`,`Bulk`,`OpenFailed`,`VersionChange`,`Schema`,`Upgrade`,`InvalidTable`,`MissingAPI`,`NoSuchDatabase`,`InvalidArgument`,`SubTransaction`,`Unsupported`,`Internal`,`DatabaseClosed`,`PrematureCommit`,`ForeignAwait`].concat(ai),si={VersionChanged:`Database version changed by other database connection`,DatabaseClosed:`Database has been closed`,Abort:`Transaction aborted`,TransactionInactive:`Transaction has already completed or failed`,MissingAPI:`IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb`};function ci(e,t){this._e=ri(),this.name=e,this.message=t}function li(e,t){return e+`. Errors: `+Object.keys(t).map((e=>t[e].toString())).filter(((e,t,n)=>n.indexOf(e)===t)).join(`
|
|
6
|
-
`)}function ui(e,t,n,r){this._e=ri(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=li(e,t)}function di(e,t){this._e=ri(),this.name=`BulkError`,this.failures=Object.keys(t).map((e=>t[e])),this.failuresByPos=t,this.message=li(e,t)}Dr(ci).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+`: `+this.message+ii(this._e,2))}},toString:function(){return this.name+`: `+this.message}}),Dr(ui).from(ci),Dr(di).from(ci);var fi=oi.reduce(((e,t)=>(e[t]=t+`Error`,e)),{}),pi=ci,H=oi.reduce(((e,t)=>{var n=t+`Error`;function r(e,r){this._e=ri(),this.name=n,e?typeof e==`string`?(this.message=`${e}${r?`
|
|
7
|
-
`+r:``}`,this.inner=r||null):typeof e==`object`&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=si[t]||n,this.inner=null)}return Dr(r).from(pi),e[t]=r,e}),{});H.Syntax=SyntaxError,H.Type=TypeError,H.Range=RangeError;var mi=ai.reduce(((e,t)=>(e[t+`Error`]=H[t],e)),{}),hi=oi.reduce(((e,t)=>([`Syntax`,`Type`,`Range`].indexOf(t)===-1&&(e[t+`Error`]=H[t]),e)),{});function U(){}function gi(e){return e}function _i(e,t){return e==null||e===gi?t:function(n){return t(e(n))}}function vi(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function yi(e,t){return e===U?t:function(){var n=e.apply(this,arguments);n!==void 0&&(arguments[0]=n);var r=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return r&&(this.onsuccess=this.onsuccess?vi(r,this.onsuccess):r),i&&(this.onerror=this.onerror?vi(i,this.onerror):i),a===void 0?n:a}}function bi(e,t){return e===U?t:function(){e.apply(this,arguments);var n=this.onsuccess,r=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?vi(n,this.onsuccess):n),r&&(this.onerror=this.onerror?vi(r,this.onerror):r)}}function xi(e,t){return e===U?t:function(n){var r=e.apply(this,arguments);br(n,r);var i=this.onsuccess,a=this.onerror;this.onsuccess=null,this.onerror=null;var o=t.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?vi(i,this.onsuccess):i),a&&(this.onerror=this.onerror?vi(a,this.onerror):a),r===void 0?o===void 0?void 0:o:br(r,o)}}function Si(e,t){return e===U?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function Ci(e,t){return e===U?t:function(){var n=e.apply(this,arguments);if(n&&typeof n.then==`function`){for(var r=this,i=arguments.length,a=Array(i);i--;)a[i]=arguments[i];return n.then((function(){return t.apply(r,a)}))}return t.apply(this,arguments)}}hi.ModifyError=ui,hi.DexieError=ci,hi.BulkError=di;var wi={},Ti=100,[Ei,Di,Oi]=typeof Promise>`u`?[]:(()=>{let e=Promise.resolve();if(typeof crypto>`u`||!crypto.subtle)return[e,xr(e),e];let t=crypto.subtle.digest(`SHA-512`,new Uint8Array([0]));return[t,xr(t),e]})(),ki=Di&&Di.then,Ai=Ei&&Ei.constructor,ji=!!Oi,Mi=!1,Ni=Oi?()=>{Oi.then(ea)}:_r.setImmediate?setImmediate.bind(null,ea):_r.MutationObserver?()=>{var e=document.createElement(`div`);new MutationObserver((()=>{ea(),e=null})).observe(e,{attributes:!0}),e.setAttribute(`i`,`1`)}:()=>{setTimeout(ea,0)},Pi=function(e,t){Hi.push([e,t]),Ii&&(Ni(),Ii=!1)},Fi=!0,Ii=!0,Li=[],Ri=[],zi=null,Bi=gi,Vi={id:`global`,global:!0,ref:0,unhandleds:[],onunhandled:Ta,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach((e=>{try{Ta(e[0],e[1])}catch(e){}}))}},W=Vi,Hi=[],Ui=0,Wi=[];function G(e){if(typeof this!=`object`)throw TypeError(`Promises must be constructed via new`);this._listeners=[],this.onuncatched=U,this._lib=!1;var t=this._PSD=W;if($r&&(this._stackHolder=ri(),this._prev=null,this._numPrev=0),typeof e!=`function`){if(e!==wi)throw TypeError(`Not a function`);this._state=arguments[1],this._value=arguments[2],!1===this._state&&Ji(this,this._value)}else this._state=null,this._value=null,++t.ref,qi(this,e)}var Gi={get:function(){var e=W,t=ua;function n(n,r){var i=!e.global&&(e!==W||t!==ua);let a=i&&!ma();var o=new G(((t,o)=>{Xi(this,new Ki(Sa(n,e,i,a),Sa(r,e,i,a),t,o,e))}));return $r&&$i(o,this),o}return n.prototype=wi,n},set:function(e){Er(this,`then`,e&&e.prototype===wi?Gi:{get:function(){return e},set:Gi.set})}};function Ki(e,t,n,r,i){this.onFulfilled=typeof e==`function`?e:null,this.onRejected=typeof t==`function`?t:null,this.resolve=n,this.reject=r,this.psd=i}function qi(e,t){try{t((t=>{if(e._state===null){if(t===e)throw TypeError(`A promise cannot be resolved with itself.`);var n=e._lib&&ta();t&&typeof t.then==`function`?qi(e,((e,n)=>{t instanceof G?t._then(e,n):t.then(e,n)})):(e._state=!0,e._value=t,Yi(e)),n&&na()}}),Ji.bind(null,e))}catch(t){Ji(e,t)}}function Ji(e,t){if(Ri.push(t),e._state===null){var n=e._lib&&ta();t=Bi(t),e._state=!1,e._value=t,$r&&typeof t==`object`&&t&&!t._promise&&function(e,t,n){try{e.apply(null,n)}catch(e){t&&t(e)}}((()=>{var n=kr(t,`stack`);t._promise=e,Er(t,`stack`,{get:()=>Mi?n&&(n.get?n.get.apply(t):n.value):e.stack})})),function(e){Li.some((t=>t._value===e._value))||Li.push(e)}(e),Yi(e),n&&na()}}function Yi(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)Xi(e,t[n]);var i=e._PSD;--i.ref||i.finalize(),Ui===0&&(++Ui,Pi((()=>{--Ui==0&&ra()}),[]))}function Xi(e,t){if(e._state!==null){var n=e._state?t.onFulfilled:t.onRejected;if(n===null)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++Ui,Pi(Zi,[n,e,t])}else e._listeners.push(t)}function Zi(e,t,n){try{zi=t;var r,i=t._value;t._state?r=e(i):(Ri.length&&(Ri=[]),r=e(i),Ri.indexOf(i)===-1&&function(e){for(var t=Li.length;t;)if(Li[--t]._value===e._value)return void Li.splice(t,1)}(t)),n.resolve(r)}catch(e){n.reject(e)}finally{zi=null,--Ui==0&&ra(),--n.psd.ref||n.psd.finalize()}}function Qi(e,t,n){if(t.length===n)return t;var r=``;if(!1===e._state){var i,a,o=e._value;o==null?(i=o,a=``):(i=o.name||`Error`,a=o.message||o,r=ii(o,0)),t.push(i+(a?`: `+a:``)+r)}return $r&&((r=ii(e._stackHolder,2))&&t.indexOf(r)===-1&&t.push(r),e._prev&&Qi(e._prev,t,n)),t}function $i(e,t){var n=t?t._numPrev+1:0;n<100&&(e._prev=t,e._numPrev=n)}function ea(){ta()&&na()}function ta(){var e=Fi;return Fi=!1,Ii=!1,e}function na(){var e,t,n;do for(;Hi.length>0;)for(e=Hi,Hi=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}while(Hi.length>0);Fi=!0,Ii=!0}function ra(){var e=Li;Li=[],e.forEach((e=>{e._PSD.onunhandled.call(null,e._value,e)}));for(var t=Wi.slice(0),n=t.length;n;)t[--n]()}function ia(e){return new G(wi,!1,e)}function aa(e,t){var n=W;return function(){var r=ta(),i=W;try{return va(n,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{va(i,!1),r&&na()}}}wr(G.prototype,{then:Gi,_then:function(e,t){Xi(this,new Ki(null,null,e,t,W))},catch:function(e){if(arguments.length===1)return this.then(null,e);var t=arguments[0],n=arguments[1];return typeof t==`function`?this.then(null,(e=>e instanceof t?n(e):ia(e))):this.then(null,(e=>e&&e.name===t?n(e):ia(e)))},finally:function(e){return this.then((t=>(e(),t)),(t=>(e(),ia(t))))},stack:{get:function(){if(this._stack)return this._stack;try{Mi=!0;var e=Qi(this,[],20).join(`
|
|
8
|
-
From previous: `);return this._state!==null&&(this._stack=e),e}finally{Mi=!1}}},timeout:function(e,t){return e<1/0?new G(((n,r)=>{var i=setTimeout((()=>r(new H.Timeout(t))),e);this.then(n,r).finally(clearTimeout.bind(null,i))})):this}}),typeof Symbol<`u`&&Symbol.toStringTag&&Er(G.prototype,Symbol.toStringTag,`Dexie.Promise`),Vi.env=ya(),wr(G,{all:function(){var e=Zr.apply(null,arguments).map(ha);return new G((function(t,n){e.length===0&&t([]);var r=e.length;e.forEach(((i,a)=>G.resolve(i).then((n=>{e[a]=n,--r||t(e)}),n)))}))},resolve:e=>{if(e instanceof G)return e;if(e&&typeof e.then==`function`)return new G(((t,n)=>{e.then(t,n)}));var t=new G(wi,!0,e);return $i(t,zi),t},reject:ia,race:function(){var e=Zr.apply(null,arguments).map(ha);return new G(((t,n)=>{e.map((e=>G.resolve(e).then(t,n)))}))},PSD:{get:()=>W,set:e=>W=e},totalEchoes:{get:()=>ua},newPSD:fa,usePSD:ba,scheduler:{get:()=>Pi,set:e=>{Pi=e}},rejectionMapper:{get:()=>Bi,set:e=>{Bi=e}},follow:(e,t)=>new G(((n,r)=>fa(((t,n)=>{var r=W;r.unhandleds=[],r.onunhandled=n,r.finalize=vi((function(){(function(e){function t(){e(),Wi.splice(Wi.indexOf(t),1)}Wi.push(t),++Ui,Pi((()=>{--Ui==0&&ra()}),[])})((()=>{this.unhandleds.length===0?t():n(this.unhandleds[0])}))}),r.finalize),e()}),t,n,r)))}),Ai&&(Ai.allSettled&&Er(G,`allSettled`,(function(){let e=Zr.apply(null,arguments).map(ha);return new G((t=>{e.length===0&&t([]);let n=e.length,r=Array(n);e.forEach(((e,i)=>G.resolve(e).then((e=>r[i]={status:`fulfilled`,value:e}),(e=>r[i]={status:`rejected`,reason:e})).then((()=>--n||t(r)))))}))})),Ai.any&&typeof AggregateError<`u`&&Er(G,`any`,(function(){let e=Zr.apply(null,arguments).map(ha);return new G(((t,n)=>{e.length===0&&n(AggregateError([]));let r=e.length,i=Array(r);e.forEach(((e,a)=>G.resolve(e).then((e=>t(e)),(e=>{i[a]=e,--r||n(AggregateError(i))}))))}))})));var oa={awaits:0,echoes:0,id:0},sa=0,ca=[],la=0,ua=0,da=0;function fa(e,t,n,r){var i=W,a=Object.create(i);a.parent=i,a.ref=0,a.global=!1,a.id=++da;var o=Vi.env;a.env=ji?{Promise:G,PromiseProp:{value:G,configurable:!0,writable:!0},all:G.all,race:G.race,allSettled:G.allSettled,any:G.any,resolve:G.resolve,reject:G.reject,nthen:Ca(o.nthen,a),gthen:Ca(o.gthen,a)}:{},t&&br(a,t),++i.ref,a.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=ba(a,e,n,r);return a.ref===0&&a.finalize(),s}function pa(){return oa.id||(oa.id=++sa),++oa.awaits,oa.echoes+=Ti,oa.id}function ma(){return!!oa.awaits&&(--oa.awaits==0&&(oa.id=0),oa.echoes=oa.awaits*Ti,!0)}function ha(e){return oa.echoes&&e&&e.constructor===Ai?(pa(),e.then((e=>(ma(),e)),(e=>(ma(),Ea(e))))):e}function ga(e){++ua,oa.echoes&&--oa.echoes!=0||(oa.echoes=oa.id=0),ca.push(W),va(e,!0)}function _a(){var e=ca[ca.length-1];ca.pop(),va(e,!1)}function va(e,t){var n=W;if((t?!oa.echoes||la++&&e===W:!la||--la&&e===W)||xa(t?ga.bind(null,e):_a),e!==W&&(W=e,n===Vi&&(Vi.env=ya()),ji)){var r=Vi.env.Promise,i=e.env;Di.then=i.nthen,r.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(_r,"Promise",i.PromiseProp),r.all=i.all,r.race=i.race,r.resolve=i.resolve,r.reject=i.reject,i.allSettled&&(r.allSettled=i.allSettled),i.any&&(r.any=i.any))}}function ya(){var e=_r.Promise;return ji?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(_r,`Promise`),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:Di.then,gthen:e.prototype.then}:{}}function ba(e,t,n,r,i){var a=W;try{return va(e,!0),t(n,r,i)}finally{va(a,!1)}}function xa(e){ki.call(Ei,e)}function Sa(e,t,n,r){return typeof e==`function`?function(){var i=W;n&&pa(),va(t,!0);try{return e.apply(this,arguments)}finally{va(i,!1),r&&xa(ma)}}:e}function Ca(e,t){return function(n,r){return e.call(this,Sa(n,t),Sa(r,t))}}(``+ki).indexOf(`[native code]`)===-1&&(pa=ma=U);var wa=`unhandledrejection`;function Ta(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(_r.document&&document.createEvent?((r=document.createEvent(`Event`)).initEvent(wa,!0,!0),br(r,i)):_r.CustomEvent&&br(r=new CustomEvent(wa,{detail:i}),i),r&&_r.dispatchEvent&&(dispatchEvent(r),!_r.PromiseRejectionEvent&&_r.onunhandledrejection))try{_r.onunhandledrejection(r)}catch(e){}$r&&r&&!r.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var Ea=G.reject;function Da(e,t,n,r){if(e.idbdb&&(e._state.openComplete||W.letThrough||e._vip)){var i=e._createTransaction(t,n,e._dbSchema);try{i.create(),e._state.PR1398_maxLoop=3}catch(i){return i.name===fi.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Da(e,t,n,r)))):Ea(i)}return i._promise(t,((e,t)=>fa((()=>(W.trans=i,r(e,t,i)))))).then((e=>i._completion.then((()=>e))))}if(e._state.openComplete)return Ea(new H.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return Ea(new H.DatabaseClosed);e.open().catch(U)}return e._state.dbReadyPromise.then((()=>Da(e,t,n,r)))}var Oa=`3.2.7`,ka=``,Aa=-1/0,ja=`Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.`,Ma=`String expected.`,Na=[],Pa=typeof navigator<`u`&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),Fa=Pa,Ia=Pa,La=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),Ra=`__dbnames`,za=`readonly`,Ba=`readwrite`;function Va(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}var Ha={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Ua(e){return typeof e!=`string`||/\./.test(e)?e=>e:t=>(t[e]===void 0&&e in t&&delete(t=Wr(t))[e],t)}var Wa=class{_trans(e,t,n){let r=this._tx||W.trans,i=this.name;function a(e,n,r){if(!r.schema[i])throw new H.NotFound(`Table `+i+` not part of transaction`);return t(r.idbtrans,r)}let o=ta();try{return r&&r.db===this.db?r===W.trans?r._promise(e,a,n):fa((()=>r._promise(e,a,n)),{trans:r,transless:W.transless||W}):Da(this.db,e,[this.name],a)}finally{o&&na()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans(`readonly`,(t=>this.core.get({trans:t,key:e}).then((e=>this.hook.reading.fire(e))))).then(t)}where(e){if(typeof e==`string`)return new this.db.WhereClause(this,e);if(yr(e))return new this.db.WhereClause(this,`[${e.join(`+`)}]`);let t=vr(e);if(t.length===1)return this.where(t[0]).equals(e[t[0]]);let n=this.schema.indexes.concat(this.schema.primKey).filter((e=>{if(e.compound&&t.every((t=>e.keyPath.indexOf(t)>=0))){for(let n=0;n<t.length;++n)if(t.indexOf(e.keyPath[n])===-1)return!1;return!0}return!1})).sort(((e,t)=>e.keyPath.length-t.keyPath.length))[0];if(n&&this.db._maxKey!==ka){let r=n.keyPath.slice(0,t.length);return this.where(r).equals(r.map((t=>e[t])))}!n&&$r&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join(`+`)}]`);let{idxByName:r}=this.schema,i=this.db._deps.indexedDB;function a(e,t){try{return i.cmp(e,t)===0}catch(e){return!1}}let[o,s]=t.reduce((([t,n],i)=>{let o=r[i],s=e[i];return[t||o,t||!o?Va(n,o&&o.multi?e=>{let t=Ir(e,i);return yr(t)&&t.some((e=>a(s,e)))}:e=>a(s,Ir(e,i))):n]}),[null,null]);return o?this.where(o.name).equals(e[o.keyPath]).filter(s):n?this.filter(s):this.where(t).equals(``)}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,yr(e)?`[${e.join(`+`)}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let n=Object.create(e.prototype);for(var r in t)if(Cr(t,r))try{n[r]=t[r]}catch(e){}return n};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook(`reading`,t),e}defineClass(){return this.mapToClass((function(e){br(this,e)}))}add(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=Ua(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`add`,keys:t==null?null:[t],values:[i]}))).then((e=>e.numFailures?G.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{Lr(e,r,t)}catch(e){}return t}))}update(e,t){if(typeof e!=`object`||yr(e))return this.where(`:id`).equals(e).modify(t);{let n=Ir(e,this.schema.primKey.keyPath);if(n===void 0)return Ea(new H.InvalidArgument(`Given object does not contain its primary key`));try{typeof t==`function`?t(e,{value:e,primKey:n}):vr(t).forEach((n=>{Lr(e,n,t[n])}))}catch(e){}return this.where(`:id`).equals(n).modify(t)}}put(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=Ua(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`put`,values:[i],keys:t==null?null:[t]}))).then((e=>e.numFailures?G.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{Lr(e,r,t)}catch(e){}return t}))}delete(e){return this._trans(`readwrite`,(t=>this.core.mutate({trans:t,type:`delete`,keys:[e]}))).then((e=>e.numFailures?G.reject(e.failures[0]):void 0))}clear(){return this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`deleteRange`,range:Ha}))).then((e=>e.numFailures?G.reject(e.failures[0]):void 0))}bulkGet(e){return this._trans(`readonly`,(t=>this.core.getMany({keys:e,trans:t}).then((e=>e.map((e=>this.hook.reading.fire(e)))))))}bulkAdd(e,t,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new H.InvalidArgument(`bulkAdd(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new H.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(Ua(a)):e;return this.core.mutate({trans:t,type:`add`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new di(`${this.name}.bulkAdd(): ${e} of ${o} operations failed`,r)}))}))}bulkPut(e,t,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new H.InvalidArgument(`bulkPut(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new H.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(Ua(a)):e;return this.core.mutate({trans:t,type:`put`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new di(`${this.name}.bulkPut(): ${e} of ${o} operations failed`,r)}))}))}bulkDelete(e){let t=e.length;return this._trans(`readwrite`,(t=>this.core.mutate({trans:t,type:`delete`,keys:e}))).then((({numFailures:e,lastResult:n,failures:r})=>{if(e===0)return n;throw new di(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,r)}))}};function Ga(e){var t={},n=function(n,r){if(r){for(var i=arguments.length,a=Array(i-1);--i;)a[i-1]=arguments[i];return t[n].subscribe.apply(null,a),e}if(typeof n==`string`)return t[n]};n.addEventType=a;for(var r=1,i=arguments.length;r<i;++r)a(arguments[r]);return n;function a(e,r,i){if(typeof e!=`object`){var o;r||(r=Si),i||(i=U);var s={subscribers:[],fire:i,subscribe:function(e){s.subscribers.indexOf(e)===-1&&(s.subscribers.push(e),s.fire=r(s.fire,e))},unsubscribe:function(e){s.subscribers=s.subscribers.filter((function(t){return t!==e})),s.fire=s.subscribers.reduce(r,i)}};return t[e]=n[e]=s,s}vr(o=e).forEach((function(e){var t=o[e];if(yr(t))a(e,o[e][0],o[e][1]);else{if(t!==`asap`)throw new H.InvalidArgument(`Invalid event config`);var n=a(e,gi,(function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach((function(e){Pr((function(){e.apply(null,t)}))}))}))}}))}}function Ka(e,t){return Dr(t).from({prototype:e}),t}function qa(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function Ja(e,t){e.filter=Va(e.filter,t)}function Ya(e,t,n){var r=e.replayFilter;e.replayFilter=r?()=>Va(r(),t()):t,e.justLimit=n&&!r}function Xa(e,t){if(e.isPrimKey)return t.primaryKey;let n=t.getIndexByKeyPath(e.index);if(!n)throw new H.Schema(`KeyPath `+e.index+` on object store `+t.name+` is not indexed`);return n}function Za(e,t,n){let r=Xa(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:e.dir===`prev`,unique:!!e.unique,query:{index:r,range:e.range}})}function Qa(e,t,n,r){let i=e.replayFilter?Va(e.filter,e.replayFilter()):e.filter;if(e.or){let a={},o=(e,n,r)=>{if(!i||i(n,r,(e=>n.stop(e)),(e=>n.fail(e)))){var o=n.primaryKey,s=``+o;s===`[object ArrayBuffer]`&&(s=``+new Uint8Array(o)),Cr(a,s)||(a[s]=!0,t(e,n,r))}};return Promise.all([e.or._iterate(o,n),$a(Za(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}return $a(Za(e,r,n),Va(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function $a(e,t,n,r){var i=aa(r?(e,t,i)=>n(r(e),t,i):n);return e.then((e=>{if(e)return e.start((()=>{var n=()=>e.continue();t&&!t(e,(e=>n=e),(t=>{e.stop(t),n=U}),(t=>{e.fail(t),n=U}))||i(e.value,e,(e=>n=e)),n()}))}))}function eo(e,t){try{let n=to(e),r=to(t);if(n!==r)return n===`Array`?1:r===`Array`?-1:n===`binary`?1:r===`binary`?-1:n===`string`?1:r===`string`?-1:n===`Date`?1:r===`Date`?-1:NaN;switch(n){case`number`:case`Date`:case`string`:return e>t?1:e<t?-1:0;case`binary`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return n===r?0:n<r?-1:1}(no(e),no(t));case`Array`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n){let r=eo(e[n],t[n]);if(r!==0)return r}return n===r?0:n<r?-1:1}(e,t)}}catch(e){}return NaN}function to(e){let t=typeof e;if(t!==`object`)return t;if(ArrayBuffer.isView(e))return`binary`;let n=qr(e);return n===`ArrayBuffer`?`binary`:n}function no(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}var ro=class{_read(e,t){var n=this._ctx;return n.error?n.table._trans(null,Ea.bind(null,n.error)):n.table._trans(`readonly`,e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,Ea.bind(null,t.error)):t.table._trans(`readwrite`,e,`locked`)}_addAlgorithm(e){var t=this._ctx;t.algorithm=Va(t.algorithm,e)}_iterate(e,t){return Qa(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&br(n,e),t._ctx=n,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read((n=>Qa(t,e,n,t.table.core)))}count(e){return this._read((e=>{let t=this._ctx,n=t.table.core;if(qa(t,!0))return n.count({trans:e,query:{index:Xa(t,n.schema),range:t.range}}).then((e=>Math.min(e,t.limit)));var r=0;return Qa(t,(()=>(++r,!1)),e,n).then((()=>r))})).then(e)}sortBy(e,t){let n=e.split(`.`).reverse(),r=n[0],i=n.length-1;function a(e,t){return t?a(e[n[t]],t-1):e[r]}var o=this._ctx.dir===`next`?1:-1;function s(e,t){var n=a(e,i),r=a(t,i);return n<r?-o:n>r?o:0}return this.toArray((function(e){return e.sort(s)})).then(t)}toArray(e){return this._read((e=>{var t=this._ctx;if(t.dir===`next`&&qa(t,!0)&&t.limit>0){let{valueMapper:n}=t,r=Xa(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then((({result:e})=>n?e.map(n):e))}{let n=[];return Qa(t,(e=>n.push(e)),e,t.table.core).then((()=>n))}}),e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,qa(t)?Ya(t,(()=>{var t=e;return(e,n)=>t===0||(t===1?(--t,!1):(n((()=>{e.advance(t),t=0})),!1))})):Ya(t,(()=>{var t=e;return()=>--t<0}))),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),Ya(this._ctx,(()=>{var t=e;return function(e,n,r){return--t<=0&&n(r),t>=0}}),!0),this}until(e,t){return Ja(this._ctx,(function(n,r,i){return!e(n.value)||(r(i),t)})),this}first(e){return this.limit(1).toArray((function(e){return e[0]})).then(e)}last(e){return this.reverse().first(e)}filter(e){var t,n;return Ja(this._ctx,(function(t){return e(t.value)})),t=this._ctx,n=e,t.isMatch=Va(t.isMatch,n),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir=this._ctx.dir===`prev`?`next`:`prev`,this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.key,n)}))}eachUniqueKey(e){return this._ctx.unique=`unique`,this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.primaryKey,n)}))}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.key)})).then((function(){return n})).then(e)}primaryKeys(e){var t=this._ctx;if(t.dir===`next`&&qa(t,!0)&&t.limit>0)return this._read((e=>{var n=Xa(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:n,range:t.range}})})).then((({result:e})=>e)).then(e);t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.primaryKey)})).then((function(){return n})).then(e)}uniqueKeys(e){return this._ctx.unique=`unique`,this.keys(e)}firstKey(e){return this.limit(1).keys((function(e){return e[0]})).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var n={};return Ja(this._ctx,(function(e){var t=e.primaryKey.toString(),r=Cr(n,t);return n[t]=!0,!r})),this}modify(e){var t=this._ctx;return this._write((n=>{var r;if(typeof e==`function`)r=e;else{var i=vr(e),a=i.length;r=function(t){for(var n=!1,r=0;r<a;++r){var o=i[r],s=e[o];Ir(t,o)!==s&&(Lr(t,o,s),n=!0)}return n}}let o=t.table.core,{outbound:s,extractKey:c}=o.schema.primaryKey,l=this.db._options.modifyChunkSize||200,u=[],d=0,f=[],p=(e,t)=>{let{failures:n,numFailures:r}=t;d+=e-r;for(let e of vr(n))u.push(n[e])};return this.clone().primaryKeys().then((i=>{let a=u=>{let d=Math.min(l,i.length-u);return o.getMany({trans:n,keys:i.slice(u,u+d),cache:`immutable`}).then((f=>{let m=[],h=[],g=s?[]:null,_=[];for(let e=0;e<d;++e){let t=f[e],n={value:Wr(t),primKey:i[u+e]};!1!==r.call(n,n.value,n)&&(n.value==null?_.push(i[u+e]):s||eo(c(t),c(n.value))===0?(h.push(n.value),s&&g.push(i[u+e])):(_.push(i[u+e]),m.push(n.value)))}let v=qa(t)&&t.limit===1/0&&(typeof e!=`function`||e===io)&&{index:t.index,range:t.range};return Promise.resolve(m.length>0&&o.mutate({trans:n,type:`add`,values:m}).then((e=>{for(let t in e.failures)_.splice(parseInt(t),1);p(m.length,e)}))).then((()=>(h.length>0||v&&typeof e==`object`)&&o.mutate({trans:n,type:`put`,keys:g,values:h,criteria:v,changeSpec:typeof e!=`function`&&e}).then((e=>p(h.length,e))))).then((()=>(_.length>0||v&&e===io)&&o.mutate({trans:n,type:`delete`,keys:_,criteria:v}).then((e=>p(_.length,e))))).then((()=>i.length>u+d&&a(u+l)))}))};return a(0).then((()=>{if(u.length>0)throw new ui(`Error modifying one or more objects`,u,d,f);return i.length}))}))}))}delete(){var e=this._ctx,t=e.range;return qa(e)&&(e.isPrimKey&&!Ia||t.type===3)?this._write((n=>{let{primaryKey:r}=e.table.core.schema,i=t;return e.table.core.count({trans:n,query:{index:r,range:i}}).then((t=>e.table.core.mutate({trans:n,type:`deleteRange`,range:i}).then((({failures:e,lastResult:n,results:r,numFailures:i})=>{if(i)throw new ui(`Could not delete some values`,Object.keys(e).map((t=>e[t])),t-i);return t-i}))))})):this.modify(io)}},io=(e,t)=>t.value=null;function ao(e,t){return e<t?-1:e===t?0:1}function oo(e,t){return e>t?-1:e===t?0:1}function so(e,t,n){var r=e instanceof mo?new e.Collection(e):e;return r._ctx.error=n?new n(t):TypeError(t),r}function co(e){return new e.Collection(e,(()=>po(``))).limit(0)}function lo(e,t,n,r,i,a){for(var o=Math.min(e.length,r.length),s=-1,c=0;c<o;++c){var l=t[c];if(l!==r[c])return i(e[c],n[c])<0?e.substr(0,c)+n[c]+n.substr(c+1):i(e[c],r[c])<0?e.substr(0,c)+r[c]+n.substr(c+1):s>=0?e.substr(0,s)+t[s]+n.substr(s+1):null;i(e[c],l)<0&&(s=c)}return o<r.length&&a===`next`?e+n.substr(e.length):o<e.length&&a===`prev`?e.substr(0,n.length):s<0?null:e.substr(0,s)+r[s]+n.substr(s+1)}function uo(e,t,n,r){var i,a,o,s,c,l,u,d=n.length;if(!n.every((e=>typeof e==`string`)))return so(e,Ma);function f(e){i=function(e){return e===`next`?e=>e.toUpperCase():e=>e.toLowerCase()}(e),a=function(e){return e===`next`?e=>e.toLowerCase():e=>e.toUpperCase()}(e),o=e===`next`?ao:oo;var t=n.map((function(e){return{lower:a(e),upper:i(e)}})).sort((function(e,t){return o(e.lower,t.lower)}));s=t.map((function(e){return e.upper})),c=t.map((function(e){return e.lower})),l=e,u=e===`next`?``:r}f(`next`);var p=new e.Collection(e,(()=>fo(s[0],c[d-1]+r)));p._ondirectionchange=function(e){f(e)};var m=0;return p._addAlgorithm((function(e,n,r){var i=e.key;if(typeof i!=`string`)return!1;var f=a(i);if(t(f,c,m))return!0;for(var p=null,h=m;h<d;++h){var g=lo(i,f,s[h],c[h],o,l);g===null&&p===null?m=h+1:(p===null||o(p,g)>0)&&(p=g)}return n(p===null?r:function(){e.continue(p+u)}),!1})),p}function fo(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function po(e){return{type:1,lower:e,upper:e}}var mo=class{get Collection(){return this._ctx.table.db.Collection}between(e,t,n,r){n=!1!==n,r=!0===r;try{return this._cmp(e,t)>0||this._cmp(e,t)===0&&(n||r)&&(!n||!r)?co(this):new this.Collection(this,(()=>fo(e,t,!n,!r)))}catch(e){return so(this,ja)}}equals(e){return e==null?so(this,ja):new this.Collection(this,(()=>po(e)))}above(e){return e==null?so(this,ja):new this.Collection(this,(()=>fo(e,void 0,!0)))}aboveOrEqual(e){return e==null?so(this,ja):new this.Collection(this,(()=>fo(e,void 0,!1)))}below(e){return e==null?so(this,ja):new this.Collection(this,(()=>fo(void 0,e,!1,!0)))}belowOrEqual(e){return e==null?so(this,ja):new this.Collection(this,(()=>fo(void 0,e)))}startsWith(e){return typeof e==`string`?this.between(e,e+ka,!0,!0):so(this,Ma)}startsWithIgnoreCase(e){return e===``?this.startsWith(e):uo(this,((e,t)=>e.indexOf(t[0])===0),[e],ka)}equalsIgnoreCase(e){return uo(this,((e,t)=>e===t[0]),[e],``)}anyOfIgnoreCase(){var e=Zr.apply(Xr,arguments);return e.length===0?co(this):uo(this,((e,t)=>t.indexOf(e)!==-1),e,``)}startsWithAnyOfIgnoreCase(){var e=Zr.apply(Xr,arguments);return e.length===0?co(this):uo(this,((e,t)=>t.some((t=>e.indexOf(t)===0))),e,ka)}anyOf(){let e=Zr.apply(Xr,arguments),t=this._cmp;try{e.sort(t)}catch(e){return so(this,ja)}if(e.length===0)return co(this);let n=new this.Collection(this,(()=>fo(e[0],e[e.length-1])));n._ondirectionchange=n=>{t=n===`next`?this._ascending:this._descending,e.sort(t)};let r=0;return n._addAlgorithm(((n,i,a)=>{let o=n.key;for(;t(o,e[r])>0;)if(++r,r===e.length)return i(a),!1;return t(o,e[r])===0||(i((()=>{n.continue(e[r])})),!1)})),n}notEqual(e){return this.inAnyRange([[Aa,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=Zr.apply(Xr,arguments);if(e.length===0)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return so(this,ja)}let t=e.reduce(((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[Aa,t]]),null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let n=this._cmp,r=this._ascending,i=this._descending,a=this._min,o=this._max;if(e.length===0)return co(this);if(!e.every((e=>e[0]!==void 0&&e[1]!==void 0&&r(e[0],e[1])<=0)))return so(this,`First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower`,H.InvalidArgument);let s=!t||!1!==t.includeLowers,c=t&&!0===t.includeUppers,l,u=r;function d(e,t){return u(e[0],t[0])}try{l=e.reduce((function(e,t){let r=0,i=e.length;for(;r<i;++r){let i=e[r];if(n(t[0],i[1])<0&&n(t[1],i[0])>0){i[0]=a(i[0],t[0]),i[1]=o(i[1],t[1]);break}}return r===i&&e.push(t),e}),[]),l.sort(d)}catch(e){return so(this,ja)}let f=0,p=c?e=>r(e,l[f][1])>0:e=>r(e,l[f][1])>=0,m=s?e=>i(e,l[f][0])>0:e=>i(e,l[f][0])>=0,h=p,g=new this.Collection(this,(()=>fo(l[0][0],l[l.length-1][1],!s,!c)));return g._ondirectionchange=e=>{e===`next`?(h=p,u=r):(h=m,u=i),l.sort(d)},g._addAlgorithm(((e,t,n)=>{for(var i=e.key;h(i);)if(++f,f===l.length)return t(n),!1;return!!function(e){return!p(e)&&!m(e)}(i)||(this._cmp(i,l[f][1])===0||this._cmp(i,l[f][0])===0||t((()=>{u===r?e.continue(l[f][0]):e.continue(l[f][1])})),!1)})),g}startsWithAnyOf(){let e=Zr.apply(Xr,arguments);return e.every((e=>typeof e==`string`))?e.length===0?co(this):this.inAnyRange(e.map((e=>[e,e+ka]))):so(this,`startsWithAnyOf() only works with strings`)}};function ho(e){return aa((function(t){return go(t),e(t.target.error),!1}))}function go(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}var _o=`storagemutated`,vo=`x-storagemutated-1`,yo=Ga(null,_o),bo=class{_lock(){return Nr(!W.global),++this._reculock,this._reculock!==1||W.global||(W.lockOwnerFor=this),this}_unlock(){if(Nr(!W.global),--this._reculock==0)for(W.global||(W.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{ba(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&W.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,n=this.db._state.dbOpenError;if(Nr(!this.idbtrans),!e&&!t)switch(n&&n.name){case`DatabaseClosedError`:throw new H.DatabaseClosed(n);case`MissingAPIError`:throw new H.MissingAPI(n.message,n);default:throw new H.OpenFailed(n)}if(!this.active)throw new H.TransactionInactive;return Nr(this._completion._state===null),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=aa((t=>{go(t),this._reject(e.error)})),e.onabort=aa((t=>{go(t),this.active&&this._reject(new H.Abort(e.error)),this.active=!1,this.on(`abort`).fire(t)})),e.oncomplete=aa((()=>{this.active=!1,this._resolve(),`mutatedParts`in e&&yo.storagemutated.fire(e.mutatedParts)})),this}_promise(e,t,n){if(e===`readwrite`&&this.mode!==`readwrite`)return Ea(new H.ReadOnly(`Transaction is readonly`));if(!this.active)return Ea(new H.TransactionInactive);if(this._locked())return new G(((r,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,n).then(r,i)},W])}));if(n)return fa((()=>{var e=new G(((e,n)=>{this._lock();let r=t(e,n,this);r&&r.then&&r.then(e,n)}));return e.finally((()=>this._unlock())),e._lib=!0,e}));var r=new G(((e,n)=>{var r=t(e,n,this);r&&r.then&&r.then(e,n)}));return r._lib=!0,r}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let n=G.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then((()=>n));else{t._waitingFor=n,t._waitingQueue=[];var r=t.idbtrans.objectStore(t.storeNames[0]);(function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(r.get(-1/0).onsuccess=e)})()}var i=t._waitingFor;return new G(((e,r)=>{n.then((n=>t._waitingQueue.push(aa(e.bind(null,n)))),(e=>t._waitingQueue.push(aa(r.bind(null,e))))).finally((()=>{t._waitingFor===i&&(t._waitingFor=null)}))}))}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new H.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(Cr(t,e))return t[e];let n=this.schema[e];if(!n)throw new H.NotFound(`Table `+e+` not part of transaction`);let r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r,r}};function xo(e,t,n,r,i,a,o){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:a,src:(n&&!o?`&`:``)+(r?`*`:``)+(i?`++`:``)+So(t)}}function So(e){return typeof e==`string`?e:e?`[`+[].join.call(e,`+`)+`]`:``}function Co(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:Fr(n,(e=>[e.name,e]))}}var wo=e=>{try{return e.only([[]]),wo=()=>[[]],[[]]}catch(e){return wo=()=>ka,ka}};function To(e){return e==null?()=>{}:typeof e==`string`?function(e){return e.split(`.`).length===1?t=>t[e]:t=>Ir(t,e)}(e):t=>Ir(t,e)}function Eo(e){return[].slice.call(e)}var Do=0;function Oo(e){return e==null?`:id`:typeof e==`string`?e:`[${e.join(`+`)}]`}function ko(e,t,n){function r(e){if(e.type===3)return null;if(e.type===4)throw Error(`Cannot convert never type to IDBKeyRange`);let{lower:n,upper:r,lowerOpen:i,upperOpen:a}=e;return n===void 0?r===void 0?null:t.upperBound(r,!!a):r===void 0?t.lowerBound(n,!!i):t.bound(n,r,!!i,!!a)}let{schema:i,hasGetAll:a}=function(e,t){let n=Eo(e.objectStoreNames);return{schema:{name:e.name,tables:n.map((e=>t.objectStore(e))).map((e=>{let{keyPath:t,autoIncrement:n}=e,r=yr(t),i=t==null,a={},o={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:r,keyPath:t,autoIncrement:n,unique:!0,extractKey:To(t)},indexes:Eo(e.indexNames).map((t=>e.index(t))).map((e=>{let{name:t,unique:n,multiEntry:r,keyPath:i}=e,o={name:t,compound:yr(i),keyPath:i,unique:n,multiEntry:r,extractKey:To(i)};return a[Oo(i)]=o,o})),getIndexByKeyPath:e=>a[Oo(e)]};return a[`:id`]=o.primaryKey,t!=null&&(a[Oo(t)]=o.primaryKey),o}))},hasGetAll:n.length>0&&`getAll`in t.objectStore(n[0])&&!(typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}(e,n),o=i.tables.map((e=>function(e){let t=e.name;return{name:t,schema:e,mutate:function({trans:e,type:n,keys:i,values:a,range:o}){return new Promise(((s,c)=>{s=aa(s);let l=e.objectStore(t),u=l.keyPath==null,d=n===`put`||n===`add`;if(!d&&n!==`delete`&&n!==`deleteRange`)throw Error(`Invalid operation type: `+n);let{length:f}=i||a||{length:1};if(i&&a&&i.length!==a.length)throw Error(`Given keys array must have same length as given values array.`);if(f===0)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let p,m=[],h=[],g=0,_=e=>{++g,go(e)};if(n===`deleteRange`){if(o.type===4)return s({numFailures:g,failures:h,results:[],lastResult:void 0});o.type===3?m.push(p=l.clear()):m.push(p=l.delete(r(o)))}else{let[e,t]=d?u?[a,i]:[a,null]:[i,null];if(d)for(let r=0;r<f;++r)m.push(p=t&&t[r]!==void 0?l[n](e[r],t[r]):l[n](e[r])),p.onerror=_;else for(let t=0;t<f;++t)m.push(p=l[n](e[t])),p.onerror=_}let v=e=>{let t=e.target.result;m.forEach(((e,t)=>e.error!=null&&(h[t]=e.error))),s({numFailures:g,failures:h,results:n===`delete`?i:m.map((e=>e.result)),lastResult:t})};p.onerror=e=>{_(e),v(e)},p.onsuccess=v}))},getMany:({trans:e,keys:n})=>new Promise(((r,i)=>{r=aa(r);let a=e.objectStore(t),o=n.length,s=Array(o),c,l=0,u=0,d=e=>{let t=e.target;s[t._pos]=t.result,++u===l&&r(s)},f=ho(i);for(let e=0;e<o;++e)n[e]!=null&&(c=a.get(n[e]),c._pos=e,c.onsuccess=d,c.onerror=f,++l);l===0&&r(s)})),get:({trans:e,key:n})=>new Promise(((r,i)=>{r=aa(r);let a=e.objectStore(t).get(n);a.onsuccess=e=>r(e.target.result),a.onerror=ho(i)})),query:function(e){return n=>new Promise(((i,a)=>{i=aa(i);let{trans:o,values:s,limit:c,query:l}=n,u=c===1/0?void 0:c,{index:d,range:f}=l,p=o.objectStore(t),m=d.isPrimaryKey?p:p.index(d.name),h=r(f);if(c===0)return i({result:[]});if(e){let e=s?m.getAll(h,u):m.getAllKeys(h,u);e.onsuccess=e=>i({result:e.target.result}),e.onerror=ho(a)}else{let e=0,t=s||!(`openKeyCursor`in m)?m.openCursor(h):m.openKeyCursor(h),n=[];t.onsuccess=r=>{let a=t.result;return a?(n.push(s?a.value:a.primaryKey),++e===c?i({result:n}):void a.continue()):i({result:n})},t.onerror=ho(a)}}))}(a),openCursor:function({trans:e,values:n,query:i,reverse:a,unique:o}){return new Promise(((s,c)=>{s=aa(s);let{index:l,range:u}=i,d=e.objectStore(t),f=l.isPrimaryKey?d:d.index(l.name),p=a?o?`prevunique`:`prev`:o?`nextunique`:`next`,m=n||!(`openKeyCursor`in f)?f.openCursor(r(u),p):f.openKeyCursor(r(u),p);m.onerror=ho(c),m.onsuccess=aa((t=>{let n=m.result;if(!n)return void s(null);n.___id=++Do,n.done=!1;let r=n.continue.bind(n),i=n.continuePrimaryKey;i&&(i=i.bind(n));let a=n.advance.bind(n),o=()=>{throw Error(`Cursor not stopped`)};n.trans=e,n.stop=n.continue=n.continuePrimaryKey=n.advance=()=>{throw Error(`Cursor not started`)},n.fail=aa(c),n.next=function(){let e=1;return this.start((()=>e--?this.continue():this.stop())).then((()=>this))},n.start=e=>{let t=new Promise(((e,t)=>{e=aa(e),m.onerror=ho(t),n.fail=t,n.stop=t=>{n.stop=n.continue=n.continuePrimaryKey=n.advance=o,e(t)}})),s=()=>{if(m.result)try{e()}catch(e){n.fail(e)}else n.done=!0,n.start=()=>{throw Error(`Cursor behind last entry`)},n.stop()};return m.onsuccess=aa((e=>{m.onsuccess=s,s()})),n.continue=r,n.continuePrimaryKey=i,n.advance=a,s(),t},s(n)}),c)}))},count({query:e,trans:n}){let{index:i,range:a}=e;return new Promise(((e,o)=>{let s=n.objectStore(t),c=i.isPrimaryKey?s:s.index(i.name),l=r(a),u=l?c.count(l):c.count();u.onsuccess=aa((t=>e(t.target.result))),u.onerror=ho(o)}))}}}(e))),s={};return o.forEach((e=>s[e.name]=e)),{stack:`dbcore`,transaction:e.transaction.bind(e),table(e){if(!s[e])throw Error(`Table '${e}' not found`);return s[e]},MIN_KEY:-1/0,MAX_KEY:wo(t),schema:i}}function Ao({_novip:e},t){let n=t.db;e.core=function(e,t,{IDBKeyRange:n,indexedDB:r},i){return{dbcore:function(e,t){return t.reduce(((e,{create:t})=>V(V({},e),t(e))),e)}(ko(t,n,i),e.dbcore)}}(e._middlewares,n,e._deps,t).dbcore,e.tables.forEach((t=>{let n=t.name;e.core.schema.tables.some((e=>e.name===n))&&(t.core=e.core.table(n),e[n]instanceof e.Table&&(e[n].core=t.core))}))}function jo({_novip:e},t,n,r){n.forEach((n=>{let i=r[n];t.forEach((t=>{let r=kr(t,n);(!r||`value`in r&&r.value===void 0)&&(t===e.Transaction.prototype||t instanceof e.Transaction?Er(t,n,{get(){return this.table(n)},set(e){Tr(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,i))}))}))}function Mo({_novip:e},t){t.forEach((t=>{for(let n in t)t[n]instanceof e.Table&&delete t[n]}))}function No(e,t){return e._cfg.version-t._cfg.version}function Po(e,t,n,r){let i=e._dbSchema,a=e._createTransaction(`readwrite`,e._storeNames,i);a.create(n),a._completion.catch(r);let o=a._reject.bind(a),s=W.transless||W;fa((()=>{W.trans=a,W.transless=s,t===0?(vr(i).forEach((e=>{Io(n,e,i[e].primKey,i[e].indexes)})),Ao(e,n),G.follow((()=>e.on.populate.fire(a))).catch(o)):function({_novip:e},t,n,r){let i=[],a=e._versions,o=e._dbSchema=Ro(e,e.idbdb,r),s=!1,c=a.filter((e=>e._cfg.version>=t));function l(){return i.length?G.resolve(i.shift()(n.idbtrans)).then(l):G.resolve()}return c.forEach((a=>{i.push((()=>{let i=o,c=a._cfg.dbschema;zo(e,i,r),zo(e,c,r),o=e._dbSchema=c;let l=Fo(i,c);l.add.forEach((e=>{Io(r,e[0],e[1].primKey,e[1].indexes)})),l.change.forEach((e=>{if(e.recreate)throw new H.Upgrade(`Not yet support for changing primary key`);{let t=r.objectStore(e.name);e.add.forEach((e=>Lo(t,e))),e.change.forEach((e=>{t.deleteIndex(e.name),Lo(t,e)})),e.del.forEach((e=>t.deleteIndex(e)))}}));let u=a._cfg.contentUpgrade;if(u&&a._cfg.version>t){Ao(e,r),n._memoizedTables={},s=!0;let t=Rr(c);l.del.forEach((e=>{t[e]=i[e]})),Mo(e,[e.Transaction.prototype]),jo(e,[e.Transaction.prototype],vr(t),t),n.schema=t;let a=Qr(u),o;a&&pa();let d=G.follow((()=>{if(o=u(n),o&&a){var e=ma.bind(null,null);o.then(e,e)}}));return o&&typeof o.then==`function`?G.resolve(o):d.then((()=>o))}})),i.push((t=>{s&&Fa||(function(e,t){[].slice.call(t.db.objectStoreNames).forEach((n=>e[n]==null&&t.db.deleteObjectStore(n)))})(a._cfg.dbschema,t),Mo(e,[e.Transaction.prototype]),jo(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),n.schema=e._dbSchema}))})),l().then((()=>{var e,t=r;vr(e=o).forEach((n=>{t.db.objectStoreNames.contains(n)||Io(t,n,e[n].primKey,e[n].indexes)}))}))}(e,t,a,n).catch(o)}))}function Fo(e,t){let n={del:[],add:[],change:[]},r;for(r in e)t[r]||n.del.push(r);for(r in t){let i=e[r],a=t[r];if(i){let e={name:r,def:a,recreate:!1,del:[],add:[],change:[]};if(``+(i.primKey.keyPath||``)!=``+(a.primKey.keyPath||``)||i.primKey.auto!==a.primKey.auto&&!Pa)e.recreate=!0,n.change.push(e);else{let t=i.idxByName,r=a.idxByName,o;for(o in t)r[o]||e.del.push(o);for(o in r){let n=t[o],i=r[o];n?n.src!==i.src&&e.change.push(i):e.add.push(i)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}}else n.add.push([r,a])}return n}function Io(e,t,n,r){let i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach((e=>Lo(i,e))),i}function Lo(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function Ro(e,t,n){let r={};return jr(t.objectStoreNames,0).forEach((e=>{let t=n.objectStore(e),i=t.keyPath,a=xo(So(i),i||``,!1,!1,!!t.autoIncrement,i&&typeof i!=`string`,!0),o=[];for(let e=0;e<t.indexNames.length;++e){let n=t.index(t.indexNames[e]);i=n.keyPath;var s=xo(n.name,i,!!n.unique,!!n.multiEntry,!1,i&&typeof i!=`string`,!1);o.push(s)}r[e]=Co(e,a,o)})),r}function zo({_novip:e},t,n){let r=n.db.objectStoreNames;for(let i=0;i<r.length;++i){let a=r[i],o=n.objectStore(a);e._hasGetAll=`getAll`in o;for(let e=0;e<o.indexNames.length;++e){let n=o.indexNames[e],r=o.index(n).keyPath,i=typeof r==`string`?r:`[`+jr(r).join(`+`)+`]`;if(t[a]){let e=t[a].idxByName[i];e&&(e.name=n,delete t[a].idxByName[i],t[a].idxByName[n]=e)}}}typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&_r.WorkerGlobalScope&&_r instanceof _r.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}var Bo=class{_parseStoresSpec(e,t){vr(e).forEach((n=>{if(e[n]!==null){var r=e[n].split(`,`).map(((e,t)=>{let n=(e=e.trim()).replace(/([&*]|\+\+)/g,``),r=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split(`+`):n;return xo(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),yr(r),t===0)})),i=r.shift();if(i.multi)throw new H.Schema(`Primary key cannot be multi-valued`);r.forEach((e=>{if(e.auto)throw new H.Schema(`Only primary key can be marked as autoIncrement (++)`);if(!e.keyPath)throw new H.Schema(`Index must have a name and cannot be an empty string`)})),t[n]=Co(n,i,r)}}))}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?br(this._cfg.storesSource,e):e;let n=t._versions,r={},i={};return n.forEach((e=>{br(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)})),t._dbSchema=i,Mo(t,[t._allTables,t,t.Transaction.prototype]),jo(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],vr(i),i),t._storeNames=vr(i),this}upgrade(e){return this._cfg.contentUpgrade=Ci(this._cfg.contentUpgrade||U,e),this}};function Vo(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new us(Ra,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:`name`})),n.table(`dbnames`)}function Ho(e){return e&&typeof e.databases==`function`}function Uo(e){return fa((function(){return W.letThrough=!0,e()}))}function Wo(){var e;return!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise((function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()})).finally((function(){return clearInterval(e)})):Promise.resolve()}function Go(e){let t=e._state,{indexedDB:n}=e._deps;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then((()=>t.dbOpenError?Ea(t.dbOpenError):e));$r&&(t.openCanceller._stackHolder=ri()),t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;let r=t.openCanceller;function i(){if(t.openCanceller!==r)throw new H.DatabaseClosed(`db.open() was cancelled`)}let a=t.dbReadyResolve,o=null,s=!1,c=()=>new G(((r,a)=>{if(i(),!n)throw new H.MissingAPI;let c=e.name,l=t.autoSchema?n.open(c):n.open(c,Math.round(10*e.verno));if(!l)throw new H.MissingAPI;l.onerror=ho(a),l.onblocked=aa(e._fireOnBlocked),l.onupgradeneeded=aa((r=>{if(o=l.transaction,t.autoSchema&&!e._options.allowEmptyDB){l.onerror=go,o.abort(),l.result.close();let e=n.deleteDatabase(c);e.onsuccess=e.onerror=aa((()=>{a(new H.NoSuchDatabase(`Database ${c} doesnt exist`))}))}else{o.onerror=ho(a);var i=r.oldVersion>2**62?0:r.oldVersion;s=i<1,e._novip.idbdb=l.result,Po(e,i/10,o,a)}}),a),l.onsuccess=aa((()=>{o=null;let n=e._novip.idbdb=l.result,i=jr(n.objectStoreNames);if(i.length>0)try{let r=n.transaction((a=i).length===1?a[0]:a,`readonly`);t.autoSchema?function({_novip:e},t,n){e.verno=t.version/10;let r=e._dbSchema=Ro(0,t,n);e._storeNames=jr(t.objectStoreNames,0),jo(e,[e._allTables],vr(r),r)}(e,n,r):(zo(e,e._dbSchema,r),function(e,t){let n=Fo(Ro(0,e.idbdb,t),e._dbSchema);return!(n.add.length||n.change.some((e=>e.add.length||e.change.length)))}(e,r)||console.warn(`Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.`)),Ao(e,r)}catch(e){}var a;Na.push(e),n.onversionchange=aa((n=>{t.vcFired=!0,e.on(`versionchange`).fire(n)})),n.onclose=aa((t=>{e.on(`close`).fire(t)})),s&&function({indexedDB:e,IDBKeyRange:t},n){!Ho(e)&&n!==Ra&&Vo(e,t).put({name:n}).catch(U)}(e._deps,c),r()}),a)})).catch((e=>e&&e.name===`UnknownError`&&t.PR1398_maxLoop>0?(t.PR1398_maxLoop--,console.warn(`Dexie: Workaround for Chrome UnknownError on open()`),c()):G.reject(e)));return G.race([r,(typeof navigator>`u`?G.resolve():Wo()).then(c)]).then((()=>(i(),t.onReadyBeingFired=[],G.resolve(Uo((()=>e.on.ready.fire(e.vip)))).then((function n(){if(t.onReadyBeingFired.length>0){let r=t.onReadyBeingFired.reduce(Ci,U);return t.onReadyBeingFired=[],G.resolve(Uo((()=>r(e.vip)))).then(n)}}))))).finally((()=>{t.onReadyBeingFired=null,t.isBeingOpened=!1})).then((()=>e)).catch((n=>{t.dbOpenError=n;try{o&&o.abort()}catch(e){}return r===t.openCanceller&&e._close(),Ea(n)})).finally((()=>{t.openComplete=!0,a()}))}function Ko(e){var t=t=>e.next(t),n=i(t),r=i((t=>e.throw(t)));function i(e){return t=>{var i=e(t),a=i.value;return i.done?a:a&&typeof a.then==`function`?a.then(n,r):yr(a)?Promise.all(a).then(n,r):n(a)}}return i(t)()}function qo(e,t,n){var r=arguments.length;if(r<2)throw new H.InvalidArgument(`Too few arguments`);for(var i=Array(r-1);--r;)i[r-1]=arguments[r];return n=i.pop(),[e,Br(i),n]}function Jo(e,t,n,r,i){return G.resolve().then((()=>{let a=W.transless||W,o=e._createTransaction(t,n,e._dbSchema,r),s={trans:o,transless:a};if(r)o.idbtrans=r.idbtrans;else try{o.create(),e._state.PR1398_maxLoop=3}catch(r){return r.name===fi.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Jo(e,t,n,null,i)))):Ea(r)}let c=Qr(i),l;c&&pa();let u=G.follow((()=>{if(l=i.call(o,o),l){if(c){var e=ma.bind(null,null);l.then(e,e)}else typeof l.next==`function`&&typeof l.throw==`function`&&(l=Ko(l))}}),s);return(l&&typeof l.then==`function`?G.resolve(l).then((e=>o.active?e:Ea(new H.PrematureCommit(`Transaction committed too early. See http://bit.ly/2kdckMn`)))):u.then((()=>l))).then((e=>(r&&o._resolve(),o._completion.then((()=>e))))).catch((e=>(o._reject(e),Ea(e))))}))}function Yo(e,t,n){let r=yr(e)?e.slice():[e];for(let e=0;e<n;++e)r.push(t);return r}var Xo={stack:`dbcore`,name:`VirtualIndexMiddleware`,level:1,create:function(e){return V(V({},e),{},{table(t){let n=e.table(t),{schema:r}=n,i={},a=[];function o(e,t,n){let r=Oo(e),s=i[r]=i[r]||[],c=e==null?0:typeof e==`string`?1:e.length,l=t>0,u=V(V({},n),{},{isVirtual:l,keyTail:t,keyLength:c,extractKey:To(e),unique:!l&&n.unique});return s.push(u),u.isPrimaryKey||a.push(u),c>1&&o(c===2?e[0]:e.slice(0,c-1),t+1,n),s.sort(((e,t)=>e.keyTail-t.keyTail)),u}let s=o(r.primaryKey.keyPath,0,r.primaryKey);i[`:id`]=[s];for(let e of r.indexes)o(e.keyPath,0,e);function c(t){let n=t.query.index;return n.isVirtual?V(V({},t),{},{query:{index:n,range:(r=t.query.range,i=n.keyTail,{type:r.type===1?2:r.type,lower:Yo(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,i),lowerOpen:!0,upper:Yo(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,i),upperOpen:!0})}}):t;var r,i}return V(V({},n),{},{schema:V(V({},r),{},{primaryKey:s,indexes:a,getIndexByKeyPath:function(e){let t=i[Oo(e)];return t&&t[0]}}),count:e=>n.count(c(e)),query:e=>n.query(c(e)),openCursor(t){let{keyTail:r,isVirtual:i,keyLength:a}=t.query.index;return i?n.openCursor(c(t)).then((n=>n&&function(n){return Object.create(n,{continue:{value:function(i){i==null?t.unique?n.continue(n.key.slice(0,a).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,r)):n.continue():n.continue(Yo(i,t.reverse?e.MAX_KEY:e.MIN_KEY,r))}},continuePrimaryKey:{value(t,i){n.continuePrimaryKey(Yo(t,e.MAX_KEY,r),i)}},primaryKey:{get:()=>n.primaryKey},key:{get(){let e=n.key;return a===1?e[0]:e.slice(0,a)}},value:{get:()=>n.value}})}(n))):n.openCursor(t)}})}})}};function Zo(e,t,n,r){return n=n||{},r=r||``,vr(e).forEach((i=>{if(Cr(t,i)){var a=e[i],o=t[i];if(typeof a==`object`&&typeof o==`object`&&a&&o){let e=qr(a);e===qr(o)?e===`Object`?Zo(a,o,n,r+i+`.`):a!==o&&(n[r+i]=t[i]):n[r+i]=t[i]}else a!==o&&(n[r+i]=t[i])}else n[r+i]=void 0})),vr(t).forEach((i=>{Cr(e,i)||(n[r+i]=t[i])})),n}var Qo={stack:`dbcore`,name:`HooksMiddleware`,level:2,create:e=>V(V({},e),{},{table(t){let n=e.table(t),{primaryKey:r}=n.schema;return V(V({},n),{},{mutate(e){let i=W.trans,{deleting:a,creating:o,updating:s}=i.table(t).hook;switch(e.type){case`add`:if(o.fire===U)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`put`:if(o.fire===U&&s.fire===U)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`delete`:if(a.fire===U)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`deleteRange`:if(a.fire===U)break;return i._promise(`readwrite`,(()=>function(e){return l(e.trans,e.range,1e4)}(e)),!0)}return n.mutate(e);function c(e){let t=W.trans,i=e.keys||function(e,t){return t.type===`delete`?t.keys:t.keys||t.values.map(e.extractKey)}(r,e);if(!i)throw Error(`Keys missing`);return(e=e.type===`add`||e.type===`put`?V(V({},e),{},{keys:i}):V({},e)).type!==`delete`&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),function(e,t,n){return t.type===`add`?Promise.resolve([]):e.getMany({trans:t.trans,keys:n,cache:`immutable`})}(n,e,i).then((c=>{let l=i.map(((n,i)=>{let l=c[i],u={onerror:null,onsuccess:null};if(e.type===`delete`)a.fire.call(u,n,l,t);else if(e.type===`add`||l===void 0){let a=o.fire.call(u,n,e.values[i],t);n==null&&a!=null&&(n=a,e.keys[i]=n,r.outbound||Lr(e.values[i],r.keyPath,n))}else{let r=Zo(l,e.values[i]),a=s.fire.call(u,r,n,l,t);if(a){let t=e.values[i];Object.keys(a).forEach((e=>{Cr(t,e)?t[e]=a[e]:Lr(t,e,a[e])}))}}return u}));return n.mutate(e).then((({failures:t,results:n,numFailures:r,lastResult:a})=>{for(let r=0;r<i.length;++r){let a=n?n[r]:i[r],o=l[r];a==null?o.onerror&&o.onerror(t[r]):o.onsuccess&&o.onsuccess(e.type===`put`&&c[r]?e.values[r]:a)}return{failures:t,results:n,numFailures:r,lastResult:a}})).catch((e=>(l.forEach((t=>t.onerror&&t.onerror(e))),Promise.reject(e))))}))}function l(e,t,i){return n.query({trans:e,values:!1,query:{index:r,range:t},limit:i}).then((({result:n})=>c({type:`delete`,keys:n,trans:e}).then((r=>r.numFailures>0?Promise.reject(r.failures[0]):n.length<i?{failures:[],numFailures:0,lastResult:void 0}:l(e,V(V({},t),{},{lower:n[n.length-1],lowerOpen:!0}),i)))))}}})}})};function $o(e,t,n){try{if(!t||t.keys.length<e.length)return null;let r=[];for(let i=0,a=0;i<t.keys.length&&a<e.length;++i)eo(t.keys[i],e[a])===0&&(r.push(n?Wr(t.values[i]):t.values[i]),++a);return r.length===e.length?r:null}catch(e){return null}}var es={stack:`dbcore`,level:-1,create:e=>({table:t=>{let n=e.table(t);return V(V({},n),{},{getMany:e=>{if(!e.cache)return n.getMany(e);let t=$o(e.keys,e.trans._cache,e.cache===`clone`);return t?G.resolve(t):n.getMany(e).then((t=>(e.trans._cache={keys:e.keys,values:e.cache===`clone`?Wr(t):t},t)))},mutate:e=>(e.type!==`add`&&(e.trans._cache=null),n.mutate(e))})}})};function ts(e){return!(`from`in e)}var ns=function(e,t){if(!this){let t=new ns;return e&&`d`in e&&br(t,e),t}br(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function rs(e,t,n){let r=eo(t,n);if(isNaN(r))return;if(r>0)throw RangeError();if(ts(e))return br(e,{from:t,to:n,d:1});let i=e.l,a=e.r;if(eo(n,e.from)<0)return i?rs(i,t,n):e.l={from:t,to:n,d:1,l:null,r:null},ss(e);if(eo(t,e.to)>0)return a?rs(a,t,n):e.r={from:t,to:n,d:1,l:null,r:null},ss(e);eo(t,e.from)<0&&(e.from=t,e.l=null,e.d=a?a.d+1:1),eo(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);let o=!e.r;i&&!e.l&&is(e,i),a&&o&&is(e,a)}function is(e,t){ts(t)||function e(t,{from:n,to:r,l:i,r:a}){rs(t,n,r),i&&e(t,i),a&&e(t,a)}(e,t)}function as(e,t){let n=os(t),r=n.next();if(r.done)return!1;let i=r.value,a=os(e),o=a.next(i.from),s=o.value;for(;!r.done&&!o.done;){if(eo(s.from,i.to)<=0&&eo(s.to,i.from)>=0)return!0;eo(i.from,s.from)<0?i=(r=n.next(s.from)).value:s=(o=a.next(i.from)).value}return!1}function os(e){let t=ts(e)?null:{s:0,n:e};return{next(e){let n=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,n)for(;t.n.l&&eo(e,t.n.from)<0;)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!n||eo(e,t.n.to)<=0)return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function ss(e){var t,n;let r=(((t=e.r)==null?void 0:t.d)||0)-(((n=e.l)==null?void 0:n.d)||0),i=r>1?`r`:r<-1?`l`:``;if(i){let t=i===`r`?`l`:`r`,n=V({},e),r=e[i];e.from=r.from,e.to=r.to,e[i]=r[i],n[i]=r[t],e[t]=n,n.d=cs(n)}e.d=cs(e)}function cs({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}wr(ns.prototype,{add(e){return is(this,e),this},addKey(e){return rs(this,e,e),this},addKeys(e){return e.forEach((e=>rs(this,e,e))),this},[Jr](){return os(this)}});var ls={stack:`dbcore`,level:0,create:e=>{let t=e.schema.name,n=new ns(e.MIN_KEY,e.MAX_KEY);return V(V({},e),{},{table:r=>{let i=e.table(r),{schema:a}=i,{primaryKey:o}=a,{extractKey:s,outbound:c}=o,l=V(V({},i),{},{mutate:e=>{let o=e.trans,s=o.mutatedParts||(o.mutatedParts={}),c=e=>{let n=`idb://${t}/${r}/${e}`;return s[n]||(s[n]=new ns)},l=c(``),u=c(`:dels`),{type:d}=e,[f,p]=e.type===`deleteRange`?[e.range]:e.type===`delete`?[e.keys]:e.values.length<50?[[],e.values]:[],m=e.trans._cache;return i.mutate(e).then((e=>{if(yr(f)){d!==`delete`&&(f=e.results),l.addKeys(f);let t=$o(f,m);t||d===`add`||u.addKeys(f),(t||p)&&function(e,t,n,r){function i(t){let i=e(t.name||``);function a(e){return e==null?null:t.extractKey(e)}let o=e=>t.multiEntry&&yr(e)?e.forEach((e=>i.addKey(e))):i.addKey(e);(n||r).forEach(((e,t)=>{let i=n&&a(n[t]),s=r&&a(r[t]);eo(i,s)!==0&&(i!=null&&o(i),s!=null&&o(s))}))}t.indexes.forEach(i)}(c,a,t,p)}else if(f){let e={from:f.lower,to:f.upper};u.add(e),l.add(e)}else l.add(n),u.add(n),a.indexes.forEach((e=>c(e.name).add(n)));return e}))}}),u=({query:{index:t,range:n}})=>{var r,i;return[t,new ns((r=n.lower)==null?e.MIN_KEY:r,(i=n.upper)==null?e.MAX_KEY:i)]},d={get:e=>[o,new ns(e.key)],getMany:e=>[o,new ns().addKeys(e.keys)],count:u,query:u,openCursor:u};return vr(d).forEach((e=>{l[e]=function(a){let{subscr:o}=W;if(o){let l=e=>{let n=`idb://${t}/${r}/${e}`;return o[n]||(o[n]=new ns)},u=l(``),f=l(`:dels`),[p,m]=d[e](a);if(l(p.name||``).add(m),!p.isPrimaryKey){if(e!==`count`){let t=e===`query`&&c&&a.values&&i.query(V(V({},a),{},{values:!1}));return i[e].apply(this,arguments).then((n=>{if(e===`query`){if(c&&a.values)return t.then((({result:e})=>(u.addKeys(e),n)));let e=a.values?n.result.map(s):n.result;a.values?u.addKeys(e):f.addKeys(e)}else if(e===`openCursor`){let e=n,t=a.values;return e&&Object.create(e,{key:{get:()=>(f.addKey(e.primaryKey),e.key)},primaryKey:{get(){let t=e.primaryKey;return f.addKey(t),t}},value:{get:()=>(t&&u.addKey(e.primaryKey),e.value)}})}return n}))}f.add(n)}}return i[e].apply(this,arguments)}})),l}})}},us=class e{constructor(t,n){this._middlewares={},this.verno=0;let r=e.dependencies;this._options=n=V({addons:e.addons,autoOpen:!0,indexedDB:r.indexedDB,IDBKeyRange:r.IDBKeyRange},n),this._deps={indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange};let{addons:i}=n;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;let a={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:U,dbReadyPromise:null,cancelOpen:U,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};var o;a.dbReadyPromise=new G((e=>{a.dbReadyResolve=e})),a.openCanceller=new G(((e,t)=>{a.cancelOpen=t})),this._state=a,this.name=t,this.on=Ga(this,`populate`,`blocked`,`versionchange`,`close`,{ready:[Ci,U]}),this.on.ready.subscribe=Mr(this.on.ready.subscribe,(t=>(n,r)=>{e.vip((()=>{let e=this._state;if(e.openComplete)e.dbOpenError||G.resolve().then(n),r&&t(n);else if(e.onReadyBeingFired)e.onReadyBeingFired.push(n),r&&t(n);else{t(n);let e=this;r||t((function t(){e.on.ready.unsubscribe(n),e.on.ready.unsubscribe(t)}))}}))})),this.Collection=(o=this,Ka(ro.prototype,(function(e,t){this.db=o;let n=Ha,r=null;if(t)try{n=t()}catch(e){r=e}let i=e._ctx,a=i.table,s=a.hook.reading.fire;this._ctx={table:a,index:i.index,isPrimKey:!i.index||a.schema.primKey.keyPath&&i.index===a.schema.primKey.name,range:n,keysOnly:!1,dir:`next`,unique:``,algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:r,or:i.or,valueMapper:s===gi?null:s}}))),this.Table=function(e){return Ka(Wa.prototype,(function(t,n,r){this.db=e,this._tx=r,this.name=t,this.schema=n,this.hook=e._allTables[t]?e._allTables[t].hook:Ga(null,{creating:[yi,U],reading:[_i,gi],updating:[xi,U],deleting:[bi,U]})}))}(this),this.Transaction=function(e){return Ka(bo.prototype,(function(t,n,r,i,a){this.db=e,this.mode=t,this.storeNames=n,this.schema=r,this.chromeTransactionDurability=i,this.idbtrans=null,this.on=Ga(this,`complete`,`error`,`abort`),this.parent=a||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new G(((e,t)=>{this._resolve=e,this._reject=t})),this._completion.then((()=>{this.active=!1,this.on.complete.fire()}),(e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),Ea(e)}))}))}(this),this.Version=function(e){return Ka(Bo.prototype,(function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}}))}(this),this.WhereClause=function(e){return Ka(mo.prototype,(function(t,n,r){this.db=e,this._ctx={table:t,index:n===`:id`?null:n,or:r};let i=e._deps.indexedDB;if(!i)throw new H.MissingAPI;this._cmp=this._ascending=i.cmp.bind(i),this._descending=(e,t)=>i.cmp(t,e),this._max=(e,t)=>i.cmp(e,t)>0?e:t,this._min=(e,t)=>i.cmp(e,t)<0?e:t,this._IDBKeyRange=e._deps.IDBKeyRange}))}(this),this.on(`versionchange`,(e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()})),this.on(`blocked`,(e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)})),this._maxKey=wo(n.IDBKeyRange),this._createTransaction=(e,t,n,r)=>new this.Transaction(e,t,n,this._options.chromeTransactionDurability,r),this._fireOnBlocked=e=>{this.on(`blocked`).fire(e),Na.filter((e=>e.name===this.name&&e!==this&&!e._state.vcFired)).map((t=>t.on(`versionchange`).fire(e)))},this.use(Xo),this.use(Qo),this.use(ls),this.use(es),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach((e=>e(this)))}version(e){if(isNaN(e)||e<.1)throw new H.Type(`Given version is not a positive number`);if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new H.Schema(`Cannot add version when database is open`);this.verno=Math.max(this.verno,e);let t=this._versions;var n=t.filter((t=>t._cfg.version===e))[0];return n||(n=new this.Version(e),t.push(n),t.sort(No),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||W.letThrough||this._vip)?e():new G(((e,t)=>{if(this._state.openComplete)return t(new H.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new H.DatabaseClosed);this.open().catch(U)}this._state.dbReadyPromise.then(e,t)})).then(e)}use({stack:e,create:t,level:n,name:r}){r&&this.unuse({stack:e,name:r});let i=this._middlewares[e]||(this._middlewares[e]=[]);return i.push({stack:e,create:t,level:n==null?10:n,name:r}),i.sort(((e,t)=>e.level-t.level)),this}unuse({stack:e,name:t,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter((e=>n?e.create!==n:!!t&&e.name!==t))),this}open(){return Go(this)}_close(){let e=this._state,t=Na.indexOf(this);if(t>=0&&Na.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new G((t=>{e.dbReadyResolve=t})),e.openCanceller=new G(((t,n)=>{e.cancelOpen=n}))}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new H.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new G(((n,r)=>{let i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=aa((()=>{(function({indexedDB:e,IDBKeyRange:t},n){!Ho(e)&&n!==Ra&&Vo(e,t).delete(n).catch(U)})(this._deps,this.name),n()})),e.onerror=ho(r),e.onblocked=this._fireOnBlocked};if(e)throw new H.InvalidArgument(`Arguments not allowed in db.delete()`);t.isBeingOpened?t.dbReadyPromise.then(i):i()}))}backendDB(){return this.idbdb}isOpen(){return this.idbdb!==null}hasBeenClosed(){let e=this._state.dbOpenError;return e&&e.name===`DatabaseClosed`}hasFailed(){return this._state.dbOpenError!==null}dynamicallyOpened(){return this._state.autoSchema}get tables(){return vr(this._allTables).map((e=>this._allTables[e]))}transaction(){let e=qo.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,n){let r=W.trans;r&&r.db===this&&e.indexOf(`!`)===-1||(r=null);let i=e.indexOf(`?`)!==-1,a,o;e=e.replace(`!`,``).replace(`?`,``);try{if(o=t.map((e=>{var t=e instanceof this.Table?e.name:e;if(typeof t!=`string`)throw TypeError(`Invalid table argument to Dexie.transaction(). Only Table or String are allowed`);return t})),e==`r`||e===za)a=za;else{if(e!=`rw`&&e!=Ba)throw new H.InvalidArgument(`Invalid transaction mode: `+e);a=Ba}if(r){if(r.mode===za&&a===Ba){if(!i)throw new H.SubTransaction(`Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY`);r=null}r&&o.forEach((e=>{if(r&&r.storeNames.indexOf(e)===-1){if(!i)throw new H.SubTransaction(`Table `+e+` not included in parent transaction.`);r=null}})),i&&r&&!r.active&&(r=null)}}catch(e){return r?r._promise(null,((t,n)=>{n(e)})):Ea(e)}let s=Jo.bind(null,this,a,o,r,n);return r?r._promise(a,s,`lock`):W.trans?ba(W.transless,(()=>this._whenReady(s))):this._whenReady(s)}table(e){if(!Cr(this._allTables,e))throw new H.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}},ds=typeof Symbol<`u`&&`observable`in Symbol?Symbol.observable:`@@observable`,fs=class{constructor(e){this._subscribe=e}subscribe(e,t,n){return this._subscribe(e&&typeof e!=`function`?e:{next:e,error:t,complete:n})}[ds](){return this}};function ps(e,t){return vr(t).forEach((n=>{is(e[n]||(e[n]=new ns),t[n])})),e}function ms(e){let t,n=!1,r=new fs((r=>{let i=Qr(e),a=!1,o={},s={},c={get closed(){return a},unsubscribe:()=>{a=!0,yo.storagemutated.unsubscribe(f)}};r.start&&r.start(c);let l=!1,u=!1;function d(){return vr(s).some((e=>o[e]&&as(o[e],s[e])))}let f=e=>{ps(o,e),d()&&p()},p=()=>{if(l||a)return;o={};let m={},h=function(t){i&&pa();let n=()=>fa(e,{subscr:t,trans:null}),r=W.trans?ba(W.transless,n):n();return i&&r.then(ma,ma),r}(m);u||(yo(_o,f),u=!0),l=!0,Promise.resolve(h).then((e=>{n=!0,t=e,l=!1,a||(d()?p():(o={},s=m,r.next&&r.next(e)))}),(e=>{l=!1,n=!1,r.error&&r.error(e),c.unsubscribe()}))};return p(),c}));return r.hasValue=()=>n,r.getValue=()=>t,r}var hs;try{hs={indexedDB:_r.indexedDB||_r.mozIndexedDB||_r.webkitIndexedDB||_r.msIndexedDB,IDBKeyRange:_r.IDBKeyRange||_r.webkitIDBKeyRange}}catch(e){hs={indexedDB:null,IDBKeyRange:null}}var gs=us;function _s(e){let t=vs;try{vs=!0,yo.storagemutated.fire(e)}finally{vs=t}}wr(gs,V(V({},hi),{},{delete:e=>new gs(e,{addons:[]}).delete(),exists:e=>new gs(e,{addons:[]}).open().then((e=>(e.close(),!0))).catch(`NoSuchDatabaseError`,(()=>!1)),getDatabaseNames(e){try{return function({indexedDB:e,IDBKeyRange:t}){return Ho(e)?Promise.resolve(e.databases()).then((e=>e.map((e=>e.name)).filter((e=>e!==Ra)))):Vo(e,t).toCollection().primaryKeys()}(gs.dependencies).then(e)}catch(e){return Ea(new H.MissingAPI)}},defineClass:()=>function(e){br(this,e)},ignoreTransaction:e=>W.trans?ba(W.transless,e):e(),vip:Uo,async:function(e){return function(){try{var t=Ko(e.apply(this,arguments));return t&&typeof t.then==`function`?t:G.resolve(t)}catch(e){return Ea(e)}}},spawn:function(e,t,n){try{var r=Ko(e.apply(n,t||[]));return r&&typeof r.then==`function`?r:G.resolve(r)}catch(e){return Ea(e)}},currentTransaction:{get:()=>W.trans||null},waitFor:function(e,t){let n=G.resolve(typeof e==`function`?gs.ignoreTransaction(e):e).timeout(t||6e4);return W.trans?W.trans.waitFor(n):n},Promise:G,debug:{get:()=>$r,set:e=>{ei(e,e===`dexie`?()=>!0:La)}},derive:Dr,extend:br,props:wr,override:Mr,Events:Ga,on:yo,liveQuery:ms,extendObservabilitySet:ps,getByKeyPath:Ir,setByKeyPath:Lr,delByKeyPath:function(e,t){typeof t==`string`?Lr(e,t,void 0):`length`in t&&[].map.call(t,(function(t){Lr(e,t,void 0)}))},shallowClone:Rr,deepClone:Wr,getObjectDiff:Zo,cmp:eo,asap:Pr,minKey:Aa,addons:[],connections:Na,errnames:fi,dependencies:hs,semVer:Oa,version:Oa.split(`.`).map((e=>parseInt(e))).reduce(((e,t,n)=>e+t/10**(2*n)))})),gs.maxKey=wo(gs.dependencies.IDBKeyRange),typeof dispatchEvent<`u`&&typeof addEventListener<`u`&&(yo(_o,(e=>{if(!vs){let t;Pa?(t=document.createEvent(`CustomEvent`),t.initCustomEvent(vo,!0,!0,e)):t=new CustomEvent(vo,{detail:e}),vs=!0,dispatchEvent(t),vs=!1}})),addEventListener(vo,(({detail:e})=>{vs||_s(e)})));var vs=!1;if(typeof BroadcastChannel<`u`){let e=new BroadcastChannel(vo);typeof e.unref==`function`&&e.unref(),yo(_o,(t=>{vs||e.postMessage(t)})),e.onmessage=e=>{e.data&&_s(e.data)}}else if(typeof self<`u`&&typeof navigator<`u`){yo(_o,(e=>{try{vs||(typeof localStorage<`u`&&localStorage.setItem(vo,JSON.stringify({trig:Math.random(),changedParts:e})),typeof self.clients==`object`&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:vo,changedParts:e}))))}catch(e){}})),typeof addEventListener<`u`&&addEventListener(`storage`,(e=>{if(e.key===vo){let t=JSON.parse(e.newValue);t&&_s(t.changedParts)}}));let e=self.document&&navigator.serviceWorker;e&&e.addEventListener(`message`,(function({data:e}){e&&e.type===vo&&_s(e.changedParts)}))}G.rejectionMapper=function(e,t){if(!e||e instanceof ci||e instanceof TypeError||e instanceof SyntaxError||!e.name||!mi[e.name])return e;var n=new mi[e.name](t||e.message,e);return`stack`in e&&Er(n,`stack`,{get:function(){return this.inner.stack}}),n},ei($r,La);var K=new class extends us{constructor(){super(`utopya`),this.version(1).stores({providers:`++id`,categories:`id, [providerId+kind]`,channels:`id, providerId, [providerId+number], [categoryId+number]`,movies:`id, providerId, [categoryId+added]`,series:`id, providerId, [categoryId+added]`,episodes:`id, seriesId, providerId`}),this.version(2).stores({favorites:`id, [providerId+kind]`,recents:`id, [providerId+kind]`}),this.version(3).stores({programs:`id, providerId, [key+start]`,epgLinks:`id, providerId`}),this.version(4).stores({reminders:`id, start`}),this.version(5).stores({progress:`id, providerId, seriesId, updated`}),this.version(6).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey]`,series:`id, providerId, [categoryId+added], [providerId+vkey]`}),this.version(7).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`}),this.version(8).stores({catState:`id, providerId`,chanState:`id, providerId`,groups:`++id, providerId`,groupItems:`[groupId+channelId], groupId, channelId`}),this.version(9).stores({epgChannels:`id, providerId`}),this.version(10).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating]`})}};function ys(...e){let t=e.join(`|`),n=2166136261,r=84696351;for(let e=0;e<t.length;e++){let i=t.charCodeAt(e);n=Math.imul(n^i,16777619),r=Math.imul(r^i,1540483477)}return(r>>>0)%2097152*4294967296+(n>>>0)||1}var bs={_doc:`İçerik sınıflandırma. adultWords: kategori adı küçük harfe çevrilip (katlanmadan) alt dize araması. M3U girdisi: adres yolunda /series/ → dizi, /movie/ veya /movies/ → film; uzantı vodExtensions'taysa bölüm kalıbı varsa dizi yoksa film; uzantısız/uzun uzantılı adreslerde grup adı (küçük harf) seriesWords içeriyor ve bölüm kalıbı varsa dizi, movieWords'ten biriyle başlıyor ya da 'vod' içeriyorsa film; aksi halde canlı. notMatchWords: spor programı başlığında geçerse maç sayılmaz (büyük/küçük harf duyarsız).`,adultWords:[`xxx`,`adult`,`+18`,`18+`,`yetişkin`,`yetiskin`,`porn`,`erotic`,`erotik`],vodExtensions:[`mp4`,`mkv`,`avi`,`mov`,`wmv`,`flv`,`m4v`,`webm`,`mpg`,`mpeg`,`divx`],seriesWords:[`series`,`dizi`,`season`,`sezon`,`tv shows`,`shows`],movieWords:[`movie`,`film`,`vod`,`sinema`,`cinema`,`box office`],notMatchWords:[`özet`,`ozet`,`highlights`,`tekrar`,`replay`,`stüdyo`,`studio`,`analiz`,`magazin`,`klip`]},xs={_doc:`Ad işleme. foldName: küçük harf + fold eşlemesi (platform/tür tanıma, arama). normalizeName: küçük harf + normalizeFold, [..] ve (..) silinir, qualityTags harf olmayan sınırlarda silinir, baştaki 2-3 harfli ülke öneki ('tr:', 'uk |') silinir, yalnızca harf/rakam kalır (EPG ve sürüm eşleşmesi). Yapısal regex'ler (ülke öneki, yıl, etiket) her platformun kodunda; davranış fixtures/cases/names.json ile sınanır. U+0307 (birleşik nokta) silinir: 'İ'.lowercase() = 'i̇' olduğundan aksi halde 'DİZİ' 'dizi' ile eşleşmez.`,fold:{"̇":``,ı:`i`,ş:`s`,ğ:`g`,ü:`u`,ö:`o`,ç:`c`,ß:`b`,ə:`e`},normalizeFold:{"̇":``,ı:`i`,ş:`s`,ğ:`g`,ü:`u`,ö:`o`,ç:`c`},qualityTags:[`uhd`,`fhd`,`hd`,`sd`,`4k`,`8k`,`hevc`,`h265`,`1080p`,`720p`,`backup`,`yedek`],removeWordsTrim:` |-:/●`},Ss=(()=>{try{return RegExp(`\\p{L}`,`u`).test(`ş`)}catch(e){return!1}})(),Cs=Ss?`\\p{L}`:`A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u024F\\u0370-\\u03FF\\u0400-\\u04FF\\u0590-\\u06FF\\u3040-\\u30FF\\u4E00-\\u9FFF\\uAC00-\\uD7AF`,ws=(e,t=``)=>new RegExp(e.replace(/LETTER/g,Cs),Ss?t+`u`:t),Ts=e=>{let t=RegExp(`[${Object.keys(e).join(``)}]`,`g`);return n=>n.replace(t,t=>e[t])},Es=Ts(xs.fold),Ds=Ts(xs.normalizeFold),Os=e=>Es(e.toLowerCase()),ks=/\[[^\]]*\]|\([^)]*\)/g,As=RegExp(`(^|[^a-z])(${xs.qualityTags.join(`|`)})(?![a-z])`,`g`),js=/^[a-z]{2,3}\s*[:|]\s*/,Ms=ws(`[^LETTER0-9]`,`g`);function Ns(e){return Ds(e.toLowerCase()).replace(ks,` `).replace(As,`$1 `).replace(js,` `).replace(Ms,``)}var Ps=/^\s*(?:\[([A-Za-z]{2,3})\]\s*[|:\-●•]*|([A-Za-z]{2,3})\s*[|:\-●•]+)\s*/;function Fs(e){let t=Ps.exec(e);return t?(t[1]||t[2]).toUpperCase():null}var Is=/\[([^\]]*)]|\(([^)]*)\)/g,Ls=/^(?:19|20)\d{2}$/;function Rs(e){let t=[];return e.replace(Is,(e,n,r)=>{let i=(n||r||``).trim();return i&&!Ls.test(i)&&t.push(i),``}),t.length?t.join(` · `):null}var zs=e=>e.replace(Is,` `).trim();function Bs(e){let t=[];for(let n of e.split(` / `)){let e=zs(n);e&&t.indexOf(e)<0&&t.push(e)}return t.length?t:[e]}var Vs=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),Hs=(e,t)=>{let n=0,r=e.length;for(;n<r&&t.indexOf(e[n])>=0;)n++;for(;r>n&&t.indexOf(e[r-1])>=0;)r--;return e.slice(n,r)};function Us(e,t){if(!t.length)return e;let n=e;for(let e of t)n=n.replace(new RegExp(Vs(e),`gi`),` `);return n=Hs(n.replace(/\s{2,}/g,` `),xs.removeWordsTrim),n.trim()?n:e}var Ws=ws(`[LETTER]{2,}.*\\s(?:-|–|vs\\.?|v)\\s.*[LETTER]{2,}`,`i`);function Gs(e){let t=e.toLowerCase();return Ws.test(e)&&!bs.notMatchWords.some(e=>t.indexOf(e)>=0)}var Ks={_doc:`Kategori adından platform tanıma. Ad foldName ile katlanır, separators boşluğa çevrilir, başa/sona boşluk eklenir; keywords'ten biri geçiyor ve excludes'tan hiçbiri geçmiyorsa eşleşir. Listede İLK eşleşen kazanır (sıra önemli). logo: Wikimedia Commons dosya adı (https://commons.wikimedia.org/wiki/Special:FilePath/<ad>?width=320) ya da https ile başlıyorsa doğrudan adres; null ise ad yazı logosu olarak çizilir. tintWhite=false: kendi arka planlı logo, beyaza boyanmaz.`,separators:`|:-_/[]()●•`,platforms:[{key:`netflix`,name:`Netflix`,color:`#E50914`,keywords:[`netflix`],logo:`Netflix_2015_logo.svg`},{key:`hbo`,name:`HBO Max`,color:`#5822B4`,keywords:[`hbo`,` max `,`max original`],excludes:[`max prime`],logo:`Max_logo.svg`},{key:`disney`,name:`Disney+`,color:`#113CCF`,keywords:[`disney`],logo:`Disney%2B_logo.svg`},{key:`prime`,name:`Prime Video`,color:`#00A8E1`,keywords:[`prime`,`amazon`],excludes:[`max prime`],logo:`Amazon_Prime_Video_logo.svg`},{key:`apple`,name:`Apple TV+`,color:`#333333`,keywords:[`apple`],logo:`Apple_TV_Plus_Logo.svg`},{key:`blutv`,name:`BluTV`,color:`#0F6FFF`,keywords:[`blutv`,`blu tv`],logo:`BluTV_logo.svg`,tintWhite:!1},{key:`exxen`,name:`Exxen`,color:`#FFB800`,keywords:[`exxen`],logo:`Exxen.png`,tintWhite:!1},{key:`gain`,name:`Gain`,color:`#7B2CF5`,keywords:[`gain`],logo:`GA%C4%B0N_LOGO.jpg`,tintWhite:!1},{key:`tabii`,name:`tabii`,color:`#00B67A`,keywords:[`tabii`],logo:`Tabii_logo.svg`},{key:`tvplus`,name:`TV+`,color:`#8A7300`,keywords:[`tv+`,`tvplus`,`tv plus`,`turkcell tv`],logo:`https://tvplus.com.tr/images/pwa/icon-192x192.png`,tintWhite:!1},{key:`tod`,name:`TOD`,color:`#6D1ED4`,keywords:[`tod `,`bein connect`,`tod|`,`tod -`]},{key:`puhu`,name:`puhutv`,color:`#FF3D00`,keywords:[`puhu`],logo:`Puhutv.png`,tintWhite:!1},{key:`mubi`,name:`MUBI`,color:`#001489`,keywords:[`mubi`],logo:`Mubi_logo.svg`},{key:`paramount`,name:`Paramount+`,color:`#0064FF`,keywords:[`paramount`],logo:`Paramount_Plus.svg`},{key:`hulu`,name:`Hulu`,color:`#1CE783`,keywords:[`hulu`],logo:`Hulu_Logo.svg`},{key:`bein`,name:`beIN SPORTS`,color:`#5B2C83`,keywords:[`bein`]},{key:`ssport`,name:`S Sport`,color:`#0057B8`,keywords:[`s sport`,`ssport`]},{key:`tivibu`,name:`Tivibu`,color:`#00A0E3`,keywords:[`tivibu`]},{key:`dazn`,name:`DAZN`,color:`#1A1A1A`,keywords:[`dazn`]},{key:`sky`,name:`Sky`,color:`#0072C9`,keywords:[` sky `]},{key:`peacock`,name:`Peacock`,color:`#222222`,keywords:[`peacock`]}]},qs={_doc:`Kategori adından tür. Ad foldName ile katlanır, başa/sona boşluk eklenir (ayırıcılar çevrilmez); alt dize araması, İLK eşleşen kazanır. Hiçbiri eşleşmezse OTHER. Gruplamada sıra bu listenin sırasıdır, OTHER en sonda.`,genres:[{key:`ADULT`,keywords:[`adult`,`xxx`,`+18`,`18+`]},{key:`KIDS`,keywords:[`cocuk`,`kids`,`kinder`,`cartoon`,`cizgi`]},{key:`SPORTS`,keywords:[`spor`,`sport`,`bein`,`futbol`,`football`,`nba`,`ufc`,`f1 `,`motogp`,`epl`,`tennis`,`golf`,`dazn`,`event`]},{key:`NEWS`,keywords:[`haber`,`news`,`nachrichten`]},{key:`DOCS`,keywords:[`belgesel`,`docu`,`doku`,`documentary`,`nature`,`discovery`]},{key:`MUSIC`,keywords:[`muzik`,`music`,`musik`,`radyo`,`radio`]},{key:`MOVIES`,keywords:[`film`,`dizi`,`sinema`,`cinema`,`movie`,`kino`,`serien`,`series`,`boxset`,`yesilcam`,`actor`,`anime`]},{key:`RELIGION`,keywords:[`dini`,`religio`]},{key:`LOCAL`,keywords:[`yerel`,`local`,`regional`]},{key:`NATIONAL`,keywords:[`ulusal`,`national`,`genel`,`general`]},{key:`UHD`,keywords:[`4k`,`uhd`]},{key:`OTHER`,keywords:[]}]},Js=Ks.platforms,Ys=qs.genres.map(e=>e.key),Xs=RegExp(`[${Ks.separators.replace(/[\]\\\-^]/g,`\\$&`)}]`,`g`);function Zs(e){let t=` `+Os(e).replace(Xs,` `)+` `;for(let e of Js)if(e.keywords.some(e=>t.indexOf(e)>=0)&&!(e.excludes||[]).some(e=>t.indexOf(e)>=0))return e;return null}function Qs(e){return e.logo?e.logo.startsWith(`https://`)?e.logo:`https://commons.wikimedia.org/wiki/Special:FilePath/${e.logo}?width=320`:null}function $s(e){let t=` `+Os(e)+` `,n=qs.genres.find(e=>e.keywords.some(e=>t.indexOf(e)>=0));return n?n.key:`OTHER`}function ec(e,t){return e.map((e,t)=>[e,t]).sort((e,n)=>t(e[0],n[0])||e[1]-n[1]).map(e=>e[0])}function tc(e,t){let n=new Map;for(let r of e){let e=t(r);if(e===null)continue;let i=n.get(e);i?i.push(r):n.set(e,[r])}return n}function nc(e,t,n){let r=e.filter(e=>!e.hidden&&!e.locked),i=e=>e.map(e=>e.id),a=[];return t===`COUNTRY`?(tc(r,e=>(e.country===void 0?Fs(e.name):e.country)||n).forEach((e,t)=>a.push({key:`country:${t}`,categoryIds:i(e),country:t})),ec(a,(e,t)=>Number(t.country===n)-Number(e.country===n)||t.categoryIds.length-e.categoryIds.length)):t===`GENRE`?(tc(r,e=>$s(e.name)).forEach((e,t)=>a.push({key:`genre:${t}`,categoryIds:i(e),genre:t})),ec(a,(e,t)=>Ys.indexOf(e.genre)-Ys.indexOf(t.genre))):t===`PLATFORM`?(tc(r,e=>{var t,n;return(t=(n=Zs(e.name))==null?void 0:n.key)==null?null:t}).forEach((e,t)=>{let n=Js.find(e=>e.key===t);a.push({key:`platform:${t}`,categoryIds:i(e),platform:n})}),ec(a,(e,t)=>Js.indexOf(e.platform)-Js.indexOf(t.platform))):a}var rc=e=>/^\s*()?#EXT(M3U|INF)/.test(e),ic=e=>e.split(/\s+/).filter(Boolean);async function ac(e){let t=ic(e);if(!t.length)throw new cr(`NOT_FOUND`);for(let e of t){let t=``;if(await hr(await mr(e),e=>(t+=e,t.trim().length<16)),!rc(t))throw new cr(`PARSE`,`not m3u`)}}function oc(e){let t=e.trim().replace(/\/+$/,``);return/^https?:\/\//i.test(t)||(t=`http://${t}`),t.split(`/player_api.php`)[0].split(`/get.php`)[0].replace(/\/+$/,``)}var sc=(e,t,n={})=>{let r=[`username=${encodeURIComponent(e.username)}`,`password=${encodeURIComponent(e.password)}`];t&&r.push(`action=${t}`);for(let e in n)r.push(`${e}=${encodeURIComponent(n[e])}`);return`${oc(e.url)}/player_api.php?${r.join(`&`)}`},cc=(e,t,n)=>`${oc(e.url)}/movie/${e.username}/${e.password}/${t}.${n}`,lc=(e,t,n)=>`${oc(e.url)}/series/${e.username}/${e.password}/${t}.${n}`,uc=(e,t)=>{let n=e[t];return n==null||n===``||typeof n==`object`?null:String(n)},dc=(e,t)=>{let n=parseFloat(uc(e,t)||``);return isNaN(n)?null:n};async function fc(e){let t=``;await hr(await mr(e),e=>{t+=e});try{let e=JSON.parse(t);return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}catch(e){throw new cr(`PARSE`,`json`)}}async function pc(e){let t=await fc(sc(e)),n=t.user_info;if(!n||typeof n!=`object`||dc(n,`auth`)===0)throw new cr(`AUTH`);let r=(uc(n,`status`)||``).toLowerCase();if(r===`expired`)throw new cr(`EXPIRED`);if(r&&r!==`active`)throw new cr(`AUTH`,r);return t}var mc=new URL(`worker-VohmfNTb.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href,hc=e=>/\.m3u8?$/i.test(e);function gc(e){return new Promise(t=>e.listFiles(t,()=>t([])))}function _c(e){return new Promise((t,n)=>tizen.filesystem.resolve(e,t,n,`r`))}async function vc(){let e=await new Promise(e=>tizen.filesystem.listStorages(e,()=>e([]))),t=[],n=async(e,r)=>{for(let i of await gc(e))i.isDirectory?r<2&&!i.name.startsWith(`.`)&&await n(i,r+1):hc(i.name)&&t.push({name:i.name,path:i.toURI()})};for(let t of e)if(t.type===`EXTERNAL`&&t.state===`MOUNTED`)try{await n(await _c(t.label),0)}catch(e){}return t}async function yc(e){let t=await _c(e);return new Promise((e,n)=>t.readAsText(e,n,`UTF-8`))}var bc=[`HERO`,`CONTINUE`,`UP_NEXT`,`NEW_EPISODES`,`FAVORITE_CHANNELS`,`STARTING_SOON`,`RECENT_CHANNELS`,`TONIGHT_SPORTS`,`SCHEDULE`,`PLATFORMS`,`FOR_YOU`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`,`GENRES`],xc={groupMode:`CATEGORY`,numbering:`GLOBAL`,previewAutoplay:!0,fallbackToPrevious:!0,aspect:`fit`,colorKeys:[`FAVORITE`,`AUDIO`,`SUBTITLES`,`ASPECT`],lastChannelId:null,homeShelves:bc,knownShelves:bc,pinHash:null,hideLocked:!1,adultAutoLock:!0,searchHistory:[],startScreen:`home`,accent:`blue`,theme:`navy`,filterWords:[],epgHours:12,epgOffsetMin:0,autoNextEpisode:!0,preferredAudio:`tr`,preferredSubtitle:null,subtitleScale:1,subtitleColor:0,subtitleBackground:!1,autoSubtitles:!1,rememberTracks:!0,stremioAddons:[]},Sc=`utopya.settings`,Cc=[`HERO`,`CONTINUE`,`UP_NEXT`,`FAVORITE_CHANNELS`,`RECENT_CHANNELS`,`TONIGHT_SPORTS`,`SCHEDULE`,`PLATFORMS`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`];function wc(e,t){let n=e.slice();return bc.forEach((e,r)=>{if(t.indexOf(e)>=0||n.indexOf(e)>=0)return;let i=0;for(let e=r-1;e>=0;e--){let t=n.indexOf(bc[e]);if(t>=0){i=t+1;break}}n.splice(i,0,e)}),n}function Tc(){try{let e=JSON.parse(localStorage.getItem(Sc)||`{}`);return e.homeShelves&&(e.homeShelves=wc(e.homeShelves,e.knownShelves||Cc)),V(V(V({},xc),e),{},{knownShelves:bc})}catch(e){return xc}}var q=I(Tc()),Ec=()=>{q.value=Tc()};function Dc(e){q.value=V(V({},q.value),e);try{localStorage.setItem(Sc,JSON.stringify(q.value))}catch(e){}}var Oc={blue:`#4FC3F7`,orange:`#FFA726`,green:`#66BB6A`,purple:`#B388FF`,red:`#FF5252`},kc={navy:[`#070C18`,`#111C33`,`#1A2947`,`#0D1830`],amoled:[`#000000`,`#0E0E0E`,`#1C1C1C`,`#000000`],graphite:[`#0E0F12`,`#1A1C21`,`#262A31`,`#16181D`],forest:[`#06120D`,`#0F2219`,`#183327`,`#0B1E15`],wine:[`#14070C`,`#241018`,`#351823`,`#1E0B12`]},Ac=e=>{let t=parseInt(e.slice(1),16);return`${t>>16}, ${t>>8&255}, ${t&255}`};function jc(){let e=document.documentElement.style,[t,n,r,i]=kc[q.value.theme],a=Oc[q.value.accent];e.setProperty(`--bg`,t),e.setProperty(`--surface`,n),e.setProperty(`--surface-variant`,r),e.setProperty(`--bg-top`,i),e.setProperty(`--glass`,`rgba(${Ac(n)}, 0.72)`),e.setProperty(`--accent`,a),e.setProperty(`--accent-rgb`,Ac(a))}q.subscribe(jc);var Mc=I(null),Nc=I(null),Pc=I(null),Fc=`utopya.activeProvider`;async function Ic(){let e=await K.providers.toArray(),t=null;try{t=Number(localStorage.getItem(Fc))||null}catch(e){}return e.some(e=>e.id===t)||(t=e.length?e[0].id:null),Mc.value=e,Nc.value=t,e}function Lc(e){Nc.value=e;try{localStorage.setItem(Fc,String(e))}catch(e){}}async function Rc(e,t){if(e.type===`xtream`)await pc(e);else if(t!==void 0){if(!/^\s*()?#EXT(M3U|INF)/.test(t.slice(0,64)))throw new cr(`PARSE`,`not m3u`)}else await ac(e.url)}function zc(){let e=(Mc.value||[]).find(e=>e.id===Nc.value);e&&e.lastSync&&Date.now()-(e.lastEpgSync||0)>q.peek().epgHours*36e5&&Hc(e.id,void 0,`epg`)}async function Bc(e){let t=await K.providers.add(e);return await Ic(),Lc(t),t}var Vc=null;async function Hc(e,t,n=`all`){let r=(Mc.value||[]).find(t=>t.id===e);if(n===`all`&&t===void 0&&r&&r.type===`m3u`&&/^file:/i.test(r.url))try{t=await yc(r.url)}catch(t){Pc.value={providerId:e,failed:`NOT_FOUND`,detail:r.url};return}Vc||(Vc=new Worker(mc,{type:`classic`}),Vc.onmessage=e=>{let t=e.data;(t.type!==`progress`||t.count===0)&&console.log(`senkron`,t.type,`stage`in t?t.stage:``,`error`in t?`${t.error} ${t.detail}`:``),t.type===`progress`?Pc.value={providerId:t.providerId,stage:t.stage,count:t.count}:t.type===`done`?(Pc.value={providerId:t.providerId,stage:`DONE`,count:t.counts.live},Ic()):Pc.value={providerId:t.providerId,failed:t.error,detail:t.detail}},Vc.onerror=e=>{console.error(`worker hatası`,e.message,e.filename,e.lineno);let t=Pc.value;t&&(Pc.value={providerId:t.providerId,failed:`UNKNOWN`,detail:e.message})}),Pc.value={providerId:e,stage:`CONNECTING`,count:0},Vc.postMessage({type:`sync`,providerId:e,fileText:t,mode:n,epgOffsetMin:q.peek().epgOffsetMin})}var Uc={name:``,url:``,username:``,password:``,epg:``,userAgent:``,liveFormat:`ts`};function Wc(e,t,n){return n?n.name.replace(/\.m3u8?$/i,``):t.replace(/^[a-z]+:\/\//i,``).split(/[/:\s]/)[0]||(e===`xtream`?`Xtream`:`M3U`)}function Gc(e){let[t,n]=N({s:`choose`}),[r,i]=N(Uc),[a,o]=N(null),[s,c]=N(null),[l,u]=N(!1),[d,f]=N(`xtream`),p=F(null);P(()=>{L(p.current)},[t.s,t.s===`form`?t.kind:``]);let m=e=>{f(e),c(null),u(!1),n({s:`form`,kind:e})};return Wt(r=>{if(r===`back`)return t.s===`choose`?e.onExit():t.s===`usb`?n({s:`form`,kind:`file`}):t.s===`form`?n({s:`choose`}):t.s===`sync`&&e.onDone(),!0}),M(`div`,{class:`onboarding`,ref:p,children:[t.s===`choose`&&M(qc,{open:m}),t.s===`form`&&M(Qc,{kind:t.kind,form:r,edit:e=>i(V(V({},r),e)),file:a,pickFile:async()=>{Et?n({s:`usb`}):Kc(e=>o(e))},error:s,missing:l,submit:async()=>{let e=d,t=e===`file`?(a==null?void 0:a.uri)||``:fr(r.url);if(!t||e===`xtream`&&(!r.username.trim()||!r.password)){u(!0);return}u(!1),c(null);let i={name:r.name.trim()||Wc(e,t,a),type:e===`xtream`?`xtream`:`m3u`,url:e===`xtream`?oc(t):t,username:r.username.trim(),password:r.password,epgUrls:r.epg.split(/[\s,]+/).map(fr).filter(e=>/^https?:/i.test(e)),userAgent:r.userAgent.trim()||null,liveFormat:r.liveFormat,createdAt:Date.now()};n({s:`validating`});try{await Rc(i,a==null?void 0:a.text);let t=await Bc(i);Hc(t,e===`file`?a.text:void 0),n({s:`sync`,providerId:t})}catch(t){console.warn(`doğrulama`,t),c(ur(t)),n({s:`form`,kind:e})}},back:()=>n({s:`choose`})}),t.s===`usb`&&M($c,{onPick:async e=>{try{o({name:e.name,uri:e.path,text:await yc(e.path)}),c(null)}catch(e){c(`NOT_FOUND`)}n({s:`form`,kind:`file`})},back:()=>n({s:`form`,kind:`file`})}),t.s===`validating`&&M(`p`,{class:`center-msg`,children:R(`onb_validating`)}),t.s===`sync`&&M(el,{providerId:t.providerId,onDone:e.onDone,back:()=>m(d)})]})}function Kc(e){let t=document.createElement(`input`);t.type=`file`,t.accept=`.m3u,.m3u8,audio/x-mpegurl`,t.onchange=()=>{let n=t.files&&t.files[0];if(!n)return;let r=new FileReader;r.onload=()=>e({name:n.name,uri:`file:${n.name}`,text:String(r.result)}),r.readAsText(n)},t.click()}function qc({open:e}){return M(`div`,{class:`onb-choose`,children:[M(`div`,{class:`onb-brand`,children:[M(`div`,{class:`brand-mark`,children:M(z,{name:`play`})}),M(`h1`,{children:R(`app_name`)}),M(`p`,{class:`tagline muted`,children:R(`onb_tagline`)}),M(`ul`,{class:`features`,children:[M(Jc,{icon:`live`,text:R(`onb_feat_live`)}),M(Jc,{icon:`movie`,text:R(`onb_feat_vod`)}),M(Jc,{icon:`grid`,text:R(`tz_feat_tools`)})]}),M(`p`,{class:`note muted`,children:R(`onb_no_content`)})]}),M(`div`,{class:`onb-options`,children:[M(`h2`,{children:R(`onb_how`)}),M(Yc,{icon:`dns`,tint:`#4FC3F7`,title:R(`onb_xtream`),desc:R(`onb_xtream_desc`),badge:R(`onb_badge_common`),initial:!0,onClick:()=>e(`xtream`)}),M(Yc,{icon:`link`,tint:`#66BB6A`,title:R(`onb_m3u_url`),desc:R(`onb_m3u_url_desc`),onClick:()=>e(`m3u`)}),M(Yc,{icon:`file`,tint:`#90A4AE`,title:R(`onb_m3u_file`),desc:R(`tz_m3u_file_desc`),onClick:()=>e(`file`)})]})]})}function Jc({icon:e,text:t}){return M(`li`,{children:[M(`span`,{class:`feature-icon`,children:M(z,{name:e})}),t]})}function Yc(e){return M(`button`,{class:`option`,"data-focus":!0,"data-focus-default":e.initial||void 0,onClick:e.onClick,children:[M(`span`,{class:`option-icon`,style:{color:e.tint,background:Xc(e.tint,.16)},children:M(z,{name:e.icon})}),M(`span`,{class:`option-text`,children:[M(`span`,{class:`option-title`,children:[e.title,e.badge&&M(`span`,{class:`badge`,style:{color:e.tint,background:Xc(e.tint,.2)},children:e.badge})]}),M(`span`,{class:`muted`,children:e.desc})]}),M(z,{name:`chevron`,class:`muted`})]})}var Xc=(e,t)=>{let n=parseInt(e.slice(1),16);return`rgba(${n>>16}, ${n>>8&255}, ${n&255}, ${t})`};function Zc({title:e,hint:t,back:n}){return M(`div`,{class:`step-header`,children:[M(`button`,{class:`btn outline`,"data-focus":!0,onClick:n,children:[M(z,{name:`back`}),R(`back`)]}),M(`div`,{children:[M(`h1`,{children:e}),t&&M(`p`,{class:`muted`,children:t})]})]})}function Qc(e){let{kind:t,form:n,edit:r}=e,[i,a]=t===`xtream`?[R(`onb_xtream`),R(`onb_hint_xtream`)]:t===`m3u`?[R(`onb_m3u_url`),R(`onb_hint_m3u`)]:[R(`onb_m3u_file`),R(`tz_hint_file`)];return M(`div`,{class:`form-step`,children:[M(Zc,{title:i,hint:a,back:e.back}),M(`div`,{class:`form-row`,children:[M(`div`,{class:`form-panel glass`,"data-focus-group":`form-${t}`,children:[t===`m3u`&&M(pn,{label:R(`onb_url`),value:n.url,onInput:e=>r({url:e}),placeholder:`http://…/playlist.m3u`,initial:!0}),t===`file`&&M(`div`,{class:`field`,children:[e.file&&M(`p`,{class:`file-chosen`,children:R(`onb_file_chosen`,e.file.name)}),M(`button`,{class:`btn`,"data-focus":!0,"data-focus-default":!0,onClick:e.pickFile,children:[M(z,{name:`folder`}),R(`onb_pick_file`)]})]}),t===`xtream`&&M(x,{children:[M(pn,{label:R(`onb_server`),value:n.url,onInput:e=>r({url:e}),placeholder:`http://server:8080`,initial:!0}),M(`div`,{class:`field-pair`,children:[M(pn,{label:R(`onb_username`),value:n.username,onInput:e=>r({username:e})}),M(pn,{label:R(`onb_password`),value:n.password,onInput:e=>r({password:e}),password:!0})]})]}),M(`button`,{class:`btn primary connect`,"data-focus":!0,onClick:e.submit,children:R(`onb_connect`)}),M(`h3`,{class:`muted`,children:R(`onb_optional`)}),M(pn,{label:R(`onb_name`),value:n.name,onInput:e=>r({name:e}),placeholder:R(`onb_name_ph`)}),M(pn,{label:R(`onb_epg`),value:n.epg,onInput:e=>r({epg:e}),placeholder:`http://…/epg.xml.gz`}),t!==`file`&&M(pn,{label:R(`onb_user_agent`),value:n.userAgent,onInput:e=>r({userAgent:e})}),t===`xtream`&&M(`div`,{class:`field`,children:[M(`span`,{class:`field-label`,children:R(`onb_live_format`)}),M(`div`,{class:`row`,children:[`ts`,`m3u8`].map(e=>M(`button`,{class:`chip${n.liveFormat===e?` selected`:``}`,"data-focus":!0,onClick:()=>r({liveFormat:e}),children:e.toUpperCase()},e))})]})]}),M(`div`,{class:`form-side`,children:[e.missing&&M(`p`,{class:`error-box`,children:R(`onb_required`)}),e.error&&M(`p`,{class:`error-box`,children:R(lr(e.error))}),M(`div`,{class:`onb-help glass`,children:[M(`h3`,{children:R(`tz_onb_help_title`)}),M(`ul`,{children:[t!==`file`&&M(`li`,{children:R(`tz_onb_help_keyboard`)}),t===`xtream`&&M(`li`,{children:R(`tz_onb_help_server`)}),t===`xtream`&&M(`li`,{children:R(`tz_onb_help_creds`)}),t===`m3u`&&M(`li`,{children:R(`tz_onb_help_m3u`)}),t===`file`&&M(`li`,{children:R(`tz_onb_help_file`)}),M(`li`,{children:R(`tz_onb_help_epg`)}),M(`li`,{children:R(`tz_onb_help_privacy`)})]})]})]})]})]})}function $c({onPick:e,back:t}){let[n,r]=N(null),i=F(null);return P(()=>{vc().then(r,()=>r([]))},[]),P(()=>{n&&L(i.current)},[n]),M(`div`,{class:`form-step`,children:[M(Zc,{title:R(`tz_usb_title`),back:t}),M(`div`,{class:`usb-list glass`,ref:i,children:[n===null&&M(`p`,{class:`muted`,children:R(`loading`)}),n&&!n.length&&M(`p`,{class:`muted`,children:R(`tz_usb_empty`)}),n&&n.map(t=>M(`button`,{class:`option`,"data-focus":!0,onClick:()=>e(t),children:[M(`span`,{class:`option-icon`,children:M(z,{name:`file`})}),M(`span`,{class:`option-text`,children:[M(`span`,{class:`option-title`,children:t.name}),M(`span`,{class:`muted`,children:decodeURI(t.path.replace(/^file:\/\//,``))})]})]},t.path))]})]})}function el({providerId:e,onDone:t,back:n}){let r=Pc.value,i=r&&r.providerId===e?r:null;P(()=>{i&&`stage`in i&&i.stage===`DONE`&&t()},[i]);let a=i&&`failed`in i?i:null,o=F(null);return P(()=>{L(o.current)},[!!a]),M(`div`,{class:`sync-step`,ref:o,children:[M(`h1`,{children:R(`sync_title`)}),a?M(x,{children:[M(`p`,{class:`error-text`,children:R(`sync_failed`)}),M(`p`,{children:R(lr(a.failed))}),M(`div`,{class:`row`,children:[M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:()=>Hc(e),children:R(`retry`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:n,children:R(`back`)})]})]}):M(x,{children:[M(`p`,{class:`stage`,children:tl(i&&`stage`in i?i:null)}),M(`div`,{class:`indeterminate`,children:M(`span`,{})}),M(`button`,{class:`btn outline`,"data-focus":!0,"data-focus-default":!0,onClick:t,children:R(`sync_background`)})]})]})}function tl(e){switch(e&&e.stage){case`CATEGORIES`:return R(`sync_categories`);case`LIVE`:return R(`sync_live`,e.count);case`MOVIES`:return R(`sync_movies`,e.count);case`SERIES`:return R(`sync_series`,e.count);case`EPG`:return R(`sync_epg`,e.count);case`DONE`:return R(`sync_done`);default:return R(`sync_connecting`)}}function nl(e){let t=typeof e==`string`?e:``;try{let e=atob(t),n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);let r=new TextDecoder(`utf-8`).decode(n);return/[\uFFFD\u0000-\u0008]/.test(r)?t:r}catch(e){return t}}function rl(e,t,n,r){let i=[];for(let a of e){let e=Number(a.start_timestamp),o=Number(a.stop_timestamp==null?a.end_timestamp:a.stop_timestamp);e&&o&&(o<=e&&(o+=86400),i.push({id:ys(n,e*1e3),providerId:t,key:n,start:e*1e3,stop:o*1e3,title:nl(a.title),desc:nl(a.description)||null,category:null,stamp:r}))}return i.sort((e,t)=>e.start-t.start)}var il=432e5;async function al(e){let t=await K.epgLinks.get(e);return t?t.key:null}async function ol(e,t,n){let r=await al(e);return r?(await K.programs.where(`[key+start]`).between([r,t-il],[r,n],!0,!1).toArray()).filter(e=>e.stop>t):[]}async function sl(e,t,n){let r=await ol(e.id,t,n);return!r.some(e=>e.stop>Date.now())&&await fl(e)&&(r=await ol(e.id,t,n)),r}var cl=(e,t)=>{let n=null;for(let r of e)r.start<=t&&r.stop>t&&(n=r);let r=n?n.stop:t;return{now:n,next:e.find(e=>e.start>=r)||null}};async function ll(e,t=Date.now()){let n=await sl(e,t-1,t+432e5);return n.length?cl(n,t):cl(await ml(e),t)}var ul=e=>{let t=(Mc.value||[]).find(t=>t.id===e.providerId);return t&&t.type===`xtream`?t:null},dl=new Map;async function fl(e){let t=ul(e),n=dl.get(e.id)||0;if(!t||Date.now()-n<18e5)return!1;dl.set(e.id,Date.now());try{let n=await K.epgLinks.get(e.id);if(n&&n.manual)return!1;let r=await fc(sc(t,`get_simple_data_table`,{stream_id:e.remoteId})),i=`${t.id}|xt:${e.remoteId}`,a=rl(r.epg_listings||[],t.id,i,Date.now());return a.some(e=>e.stop>Date.now())?(await K.programs.bulkPut(a),await K.epgLinks.put({id:e.id,providerId:t.id,key:i,manual:!1}),!0):!1}catch(e){return console.warn(`get_simple_data_table`,e),!1}}var pl=new Map;async function ml(e){let t=ul(e);if(!t)return[];let n=pl.get(e.id);if(n&&Date.now()-n.at<6e5)return n.list;let r=[];try{r=rl((await fc(sc(t,`get_short_epg`,{stream_id:e.remoteId,limit:`4`}))).epg_listings||[],t.id,`${t.id}|xs:${e.remoteId}`,Date.now())}catch(e){}return pl.delete(e.id),pl.set(e.id,{at:Date.now(),list:r}),pl.size>200&&pl.delete(pl.keys().next().value),r}var hl=(e,t=Date.now())=>Math.max(0,Math.min(1,(t-e.start)/(e.stop-e.start))),gl=e=>e<10?`0${e}`:`${e}`,_l=e=>{let t=new Date(e);return`${gl(t.getHours())}:${gl(t.getMinutes())}`},vl=e=>`${_l(e.start)} – ${_l(e.stop)}`,yl=I(Date.now());setInterval(()=>yl.value=Date.now(),3e5);var bl=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function xl(e){let t=new TextEncoder().encode(e),n=t.length,r=n+9+63>>6<<6,i=new Uint8Array(r);i.set(t),i[n]=128,new DataView(i.buffer).setUint32(r-4,n*8);let a=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],o=Array(64),s=new DataView(i.buffer),c=(e,t)=>e>>>t|e<<32-t;for(let e=0;e<r;e+=64){for(let t=0;t<16;t++)o[t]=s.getUint32(e+t*4);for(let e=16;e<64;e++){let t=c(o[e-15],7)^c(o[e-15],18)^o[e-15]>>>3,n=c(o[e-2],17)^c(o[e-2],19)^o[e-2]>>>10;o[e]=o[e-16]+t+o[e-7]+n|0}let[t,n,r,i,l,u,d,f]=a;for(let e=0;e<64;e++){let a=f+(c(l,6)^c(l,11)^c(l,25))+(l&u^~l&d)+bl[e]+o[e]|0,s=(c(t,2)^c(t,13)^c(t,22))+(t&n^t&r^n&r)|0;f=d,d=u,u=l,l=i+a|0,i=r,r=n,n=t,t=a+s|0}a[0]=a[0]+t|0,a[1]=a[1]+n|0,a[2]=a[2]+r|0,a[3]=a[3]+i|0,a[4]=a[4]+l|0,a[5]=a[5]+u|0,a[6]=a[6]+d|0,a[7]=a[7]+f|0}return a.map(e=>(`0000000`+(e>>>0).toString(16)).slice(-8)).join(``)}var Sl=new Set,Cl=I(0),wl=I(new Map),Tl=I(new Map);async function El(e){let[t,n]=await Promise.all([K.catState.where(`providerId`).equals(e).toArray(),K.chanState.where(`providerId`).equals(e).toArray()]);wl.value=new Map(t.map(e=>[e.id,e])),Tl.value=new Map(n.map(e=>[e.id,e])),Cl.value++}function Dl(e){let t=wl.value.get(e.id);return t&&t.locked!==void 0?t.locked:e.adult&&q.value.adultAutoLock}function Ol(e,t){return!q.value.pinHash||t!==void 0&&Sl.has(t)||e&&Sl.has(e.id)?!1:t!==void 0&&!!(Tl.value.get(t)||{}).locked||!!e&&Dl(e)}function kl(e,t){e!==null&&Sl.add(e),t!==void 0&&Sl.add(t)}function Al(e){let t=wl.value.get(e.id);return!(t&&t.hidden||q.value.hideLocked&&q.value.pinHash&&Dl(e)&&!Sl.has(e.id))}var jl=e=>!!(Tl.value.get(e)||{}).hidden;async function Ml(e,t,n,r){let i=K[e],a=await i.get(t)||{id:t,providerId:n};await i.put(V(V({},a),r)),await El(n)}var Nl=(e,t,n)=>Ml(`catState`,e,t,n),Pl=(e,t,n)=>Ml(`chanState`,e,t,n),Fl=e=>xl(`utopya:${e}`),Il=()=>!!q.peek().pinHash,Ll=e=>!q.peek().pinHash||Fl(e)===q.peek().pinHash;function Rl(e){Sl.clear(),Dc({pinHash:e?Fl(e):null}),Cl.value++}var zl=e=>e.type===`cat`?`cat:${e.id}`:e.type===`ugroup`?`ug:${e.id}`:e.type===`group`?e.key:e.type,Bl=50;async function Vl(e,t){let n=await Hl(e,t),r=(await K.categories.where(`[providerId+kind]`).equals([e,`live`]).toArray()).filter(e=>!Al(e)),i=new Set;if(t.type!==`cat`)for(let e of r)for(let t of await K.channels.where(`[categoryId+number]`).between([e.id,us.minKey],[e.id,us.maxKey]).primaryKeys())i.add(t);return n.filter(e=>!i.has(e)&&!jl(e))}async function Hl(e,t){if(t.type===`all`)return K.channels.where(`[providerId+number]`).between([e,us.minKey],[e,us.maxKey]).primaryKeys();if(t.type===`cat`)return K.channels.where(`[categoryId+number]`).between([t.id,us.minKey],[t.id,us.maxKey]).primaryKeys();if(t.type===`group`){let e=[];for(let n of t.ids)await K.channels.where(`[categoryId+number]`).between([n,us.minKey],[n,us.maxKey]).eachKey((t,n)=>{e.push([t[1],n.primaryKey])});return e.map((e,t)=>[e[0],t,e[1]]).sort((e,t)=>e[0]-t[0]||e[1]-t[1]).map(e=>e[2])}return t.type===`ugroup`?(await K.groupItems.where(`groupId`).equals(t.id).toArray()).sort((e,t)=>e.order-t.order).map(e=>e.channelId):t.type===`fav`?(await K.favorites.where(`[providerId+kind]`).equals([e,`live`]).toArray()).sort((e,t)=>e.order-t.order).map(e=>e.id):(await K.recents.where(`[providerId+kind]`).equals([e,`live`]).toArray()).sort((e,t)=>t.at-e.at).slice(0,Bl).map(e=>e.id)}var Ul=class e{constructor(e){sr(this,`ids`,void 0),sr(this,`pages`,new Map),this.ids=e}page(t){let n=this.pages.get(t);return n||(n=K.channels.bulkGet(this.ids.slice(t*e.PAGE,(t+1)*e.PAGE)),this.pages.set(t,n),this.pages.size>8&&this.pages.delete(this.pages.keys().next().value)),n}async range(t,n){let r=e.PAGE,i=[];for(let e=Math.floor(t/r);e<=Math.floor((n-1)/r);e++)(await this.page(e)).forEach((a,o)=>{let s=e*r+o;s>=t&&s<n&&i.push(a)});return i}};sr(Ul,`PAGE`,40);async function Wl(e,t,n){return await K.favorites.get(n)?(await K.favorites.delete(n),!1):(await K.favorites.put({id:n,providerId:e,kind:t,order:Date.now()}),!0)}async function Gl(e,t,n){await K.recents.put({id:n,providerId:e,kind:t,at:Date.now()})}var Kl=e=>K.groups.where(`providerId`).equals(e).sortBy(`order`);async function ql(e,t){return K.groups.add({providerId:e,name:t,order:Date.now()})}var Jl=(e,t)=>K.groupItems.put({groupId:e,channelId:t,order:Date.now()}),Yl=(e,t)=>K.groupItems.delete([e,t]);async function Xl(e){await K.groupItems.where(`groupId`).equals(e).delete(),await K.groups.delete(e)}async function Zl(e,t,n,r){if(r<0||r>=t.length)return;let[i,a]=await Promise.all([K.groupItems.get([e,t[n]]),K.groupItems.get([e,t[r]])]);i&&a&&await K.groupItems.bulkPut([V(V({},i),{},{order:a.order}),V(V({},a),{},{order:i.order})])}var J=(e,t)=>{let n=e?e[t]:null;return n==null||n===``||typeof n==`object`?null:String(n)},Ql=(e,t)=>{let n=parseFloat(J(e,t)||``);return isNaN(n)?null:n},$l=(e,t)=>{let n=e?e[t]:null;return Array.isArray(n)?typeof n[0]==`string`&&n[0]?n[0]:null:J(e,t)};function eu(e){if(!e)return null;let t=/^(\d+):(\d{2})(?::(\d{2}))?$/.exec(e.trim());if(t)return t[1]*3600+t[2]*60+(t[3]?+t[3]:0);let n=/(\d+)\s*min/i.exec(e);return n?n[1]*60:null}var tu=e=>(Mc.value||[]).find(t=>t.id===e);async function nu(e){let t=tu(e.providerId);if(e.detailLoaded||!t||t.type!==`xtream`)return e;try{let n=await fc(sc(t,`get_vod_info`,{vod_id:e.remoteId})),r=n.info,i=n.movie_data,a=J(i,`container_extension`),o=Ql(r,`rating`),s={poster:e.poster||J(r,`movie_image`)||J(r,`cover_big`),backdrop:$l(r,`backdrop_path`)||e.backdrop||null,plot:J(r,`plot`)||J(r,`description`)||e.plot,cast:J(r,`cast`)||J(r,`actors`),director:J(r,`director`),genre:J(r,`genre`)||e.genre,year:(J(r,`releasedate`)||J(r,`release_date`)||``).slice(0,4)||e.year,rating:o&&o>0?o:e.rating,durationSec:Ql(r,`duration_secs`)||eu(J(r,`duration`)),tmdbId:J(r,`tmdb_id`)||J(r,`tmdb`),url:a?cc(t,e.remoteId,a):e.url,detailLoaded:!0};return await K.movies.update(e.id,s),V(V({},e),s)}catch(t){return console.warn(`get_vod_info`,t),e}}async function ru(e){let t=tu(e.providerId),n=()=>K.episodes.where(`seriesId`).equals(e.id).toArray();if(e.detailLoaded||!t||t.type!==`xtream`)return{series:e,episodes:iu(await n())};try{let n=await fc(sc(t,`get_series_info`,{series_id:e.remoteId})),r=n.info,i=Ql(r,`rating`),a={poster:e.poster||J(r,`cover`),backdrop:$l(r,`backdrop_path`)||e.backdrop,plot:J(r,`plot`)||e.plot,cast:J(r,`cast`)||e.cast,genre:J(r,`genre`)||e.genre,rating:i&&i>0?i:e.rating,tmdbId:J(r,`tmdb_id`)||J(r,`tmdb`),detailLoaded:!0},o=n.episodes,s=Array.isArray(o)?o.filter(Array.isArray).map(e=>[null,e]):o&&typeof o==`object`?Object.keys(o).map(e=>[e,o[e]]).filter(e=>Array.isArray(e[1])):[],c=Date.now(),l=[];for(let[n,r]of s)r.forEach((r,i)=>{let a=J(r,`id`);if(!a)return;let o=r.info,s=Ql(r,`season`)||(n?parseInt(n,10):0)||1;l.push({id:ys(e.providerId,`episode`,a),providerId:e.providerId,stamp:c,seriesId:e.id,remoteId:a,season:s,episode:Ql(r,`episode_num`)||i+1,title:J(r,`title`)||`S${s}E${i+1}`,url:lc(t,a,J(r,`container_extension`)||`mp4`),poster:J(o,`movie_image`)||null,plot:J(o,`plot`),durationSec:Ql(o,`duration_secs`)||eu(J(o,`duration`))})});return await K.transaction(`rw`,K.series,K.episodes,async()=>{await K.series.update(e.id,a),await K.episodes.where(`seriesId`).equals(e.id).delete(),await K.episodes.bulkPut(l)}),{series:V(V({},e),a),episodes:iu(l)}}catch(t){return console.warn(`get_series_info`,t),{series:e,episodes:iu(await n())}}}var iu=e=>e.sort((e,t)=>e.season-t.season||e.episode-t.episode),au=.95;async function ou(e,t,n,r,i,a){if(!a||i<5e3)return;let o=i/a>=au;await K.progress.put({id:t,providerId:n,kind:e,seriesId:r,position:o?0:i,duration:a,watched:o,updated:Date.now()})}async function su(e,t,n,r,i){if(!i)return K.progress.delete(t);await K.progress.put({id:t,providerId:n,kind:e,seriesId:r,position:0,duration:0,watched:!0,updated:Date.now()})}var cu=e=>K.progress.get(e);async function lu(e){let t=await K.progress.bulkGet(e),n=new Map;return t.forEach(e=>e&&n.set(e.id,e)),n}async function uu(e){let t=e.filter(e=>!e.episode&&e.item&&!e.item.backdrop&&!e.item.detailLoaded).slice(0,20);if(!t.length)return e;let n=await Promise.all(t.map(e=>Promise.race([nu(e.item),new Promise(e=>setTimeout(()=>e(null),3e3))]))),r=new Map;return n.forEach(e=>{e&&r.set(e.id,e)}),e.map(e=>e.item&&r.has(e.item.id)?V(V({},e),{},{item:r.get(e.item.id)}):e)}var du=e=>e===`movie`?K.movies:K.series,fu=e=>({key:`i${e.id}`,id:e.id,title:e.name,poster:e.poster,rating:e.rating,item:e});async function pu(e,t){return K.categories.where(`[providerId+kind]`).equals([e,t]).sortBy(`order`)}async function mu(e,t,n=30){return du(t).where(`[providerId+added]`).between([e,us.minKey],[e,us.maxKey]).reverse().limit(n).toArray()}async function hu(e,t){let n=n=>n.where(`[categoryId+added]`).between([e,us.minKey],[e,us.maxKey]).reverse().limit(t).toArray(),r=await n(du(`movie`));return r.length?r:n(du(`series`))}async function gu(e,t){let n=(await K.favorites.where(`[providerId+kind]`).equals([e,t]).toArray()).sort((e,t)=>t.order-e.order);return(await du(t).bulkGet(n.map(e=>e.id))).filter(e=>!!e)}async function _u(e,t){let n=(await K.progress.where(`providerId`).equals(e).toArray()).filter(e=>!e.watched&&e.position>0&&(t===`movie`?e.kind===`movie`:e.kind===`episode`)).sort((e,t)=>t.updated-e.updated),r=[],i=new Set;for(let e of n){if(r.length>=30)break;let n=e.duration?e.position/e.duration:0;if(t===`movie`){let t=await K.movies.get(e.id);t&&r.push({key:`c${t.id}`,id:t.id,title:t.name,poster:t.poster,rating:null,progress:n,item:t,updated:e.updated})}else if(e.seriesId!==null&&!i.has(e.seriesId)){i.add(e.seriesId);let[t,a]=await Promise.all([K.series.get(e.seriesId),K.episodes.get(e.id)]);if(t&&a){let i=`S${vu(a.season)}E${vu(a.episode)}`;r.push({key:`c${a.id}`,id:t.id,title:`${t.name} · ${i}`,poster:t.poster||a.poster,rating:null,progress:n,episode:a,item:t,updated:e.updated})}}}return r}var vu=e=>e<10?`0${e}`:`${e}`,yu=new Map;async function bu(e,t,n){let r=`${e}|${t}|${n}`,i=yu.get(r);if(i)return i;try{let e=JSON.parse(localStorage.getItem(`genres|${r}`)||`null`);if(e)return yu.set(r,e),e}catch(e){}let a=new Map;await du(t).where(`providerId`).equals(e).each(e=>{if(e.genre)for(let t of e.genre.split(/[,/|&]/)){let e=t.trim();if(e.length<2||e.length>30)continue;let n=e.toLowerCase(),r=a.get(n);r?r.n++:a.set(n,{name:e,n:1})}});let o=[...a.values()].sort((e,t)=>t.n-e.n).slice(0,30).map(e=>e.name);yu.set(r,o);try{for(let n of Object.keys(localStorage))n.indexOf(`genres|${e}|${t}|`)===0&&localStorage.removeItem(n);localStorage.setItem(`genres|${r}`,JSON.stringify(o))}catch(e){}return o}async function xu(e){let t=new Map;for(let n of e){if(n.adult)continue;let e=Zs(n.name);if(!e)continue;let r=t.get(e.key);r?r.push(n.id):t.set(e.key,[n.id])}let n=[];for(let e of Js){let r=t.get(e.key);if(!r)continue;let i=[];for(let e of r)i.push(...await hu(e,3));let a=i.sort((e,t)=>t.added-e.added).map(e=>e.poster).filter(e=>!!e).slice(0,3);n.push({platform:e,posters:a,categoryIds:r})}return n}async function Su(e,t,n,r){let i;if(n.categoryIds){i=[];for(let e of n.categoryIds)i.push(...await hu(e,1e5))}else i=await du(t).where(`providerId`).equals(e).toArray();if(n.genre){let e=n.genre.toLowerCase();i=i.filter(t=>!!t.genre&&t.genre.toLowerCase().indexOf(e)>=0)}let a=new Intl.Collator(void 0,{sensitivity:`base`}),o=(e,t)=>a.compare(e.name,t.name),s={added:(e,t)=>t.added-e.added||o(e,t),name:o,rating:(e,t)=>(t.rating||0)-(e.rating||0)||o(e,t),year:(e,t)=>(parseInt(t.year||`0`)||0)-(parseInt(e.year||`0`)||0)||o(e,t)};return i.sort(s[r])}async function Cu(e,t){return du(t).where(`[providerId+vkey]`).equals([e.providerId,e.vkey]).toArray()}var wu=()=>Math.floor((Date.now()-new Date(new Date().getFullYear(),0,0).getTime())/864e5);function Tu(e){let t=e.filter(e=>e.backdrop),n=(t.length?t:e).slice(0,10);return n.length?n[wu()%n.length]:null}async function Eu(e,t,n=20){let r=du(t).where(`[providerId+rating]`),i=await r.between([e,0],[e,us.maxKey],!1,!0).reverse().limit(n).toArray();return(i.length<n?i:await r.between([e,i[i.length-1].rating],[e,us.maxKey],!0,!0).toArray()).sort((e,t)=>t.rating-e.rating||t.added-e.added).slice(0,n)}async function Du(e){let t=(await K.progress.where(`providerId`).equals(e).toArray()).filter(e=>e.kind===`episode`&&e.seriesId!==null).sort((e,t)=>t.updated-e.updated).slice(0,100),n=new Set,r=[];for(let e of t){if(r.length>=15)break;if(n.has(e.seriesId)||(n.add(e.seriesId),!e.watched))continue;let t=iu(await K.episodes.where(`seriesId`).equals(e.seriesId).toArray()),i=await K.progress.bulkGet(t.map(e=>e.id)),a=t.findIndex(t=>t.id===e.id),o=t.slice(a+1).find((e,t)=>{let n=i[a+1+t];return!n||!n.watched}),s=await K.series.get(e.seriesId);o&&s&&r.push({key:`u${o.id}`,id:s.id,title:`${s.name} · S${vu(o.season)}E${vu(o.episode)}`,poster:o.poster||s.poster,rating:null,episode:o,item:s})}return r}async function Ou(e,t){let n=(await Vl(e,{type:t})).slice(0,t===`recent`?20:void 0),r=(await K.channels.bulkGet(n)).filter(e=>!!e);return Promise.all(r.map(async e=>({channel:e,now:(await ll(e)).now})))}async function ku(e){let t=Date.now(),n=new Date;n.getHours()>=2&&n.setDate(n.getDate()+1),n.setHours(2,0,0,0);let r=t-72e5,i=(await pu(e,`live`)).filter(e=>!e.adult&&$s(e.name)===`SPORTS`),a=[];for(let e of i)if(a.push(...await K.channels.where(`[categoryId+number]`).between([e.id,us.minKey],[e.id,us.maxKey]).limit(300).toArray()),a.length>=300)break;let o=[],s=new Set,c=0;for(let e of a){let i=!!await K.epgLinks.get(e.id);if(!(!i&&c>=12)){i||c++;for(let i of await sl(e,r,n.getTime())){if(i.stop<=t||!Gs(i.title))continue;let n=`${Ns(i.title)}|${Math.floor(i.start/6e4)}`;s.has(n)||(s.add(n),o.push({key:n,start:i.start,title:i.title,channel:e,channelName:e.name,live:i.start<=t}))}}}return o.sort((e,t)=>e.start-t.start).slice(0,20)}async function Au(){let e=await K.reminders.where(`start`).above(Date.now()).limit(20).toArray(),t=await K.channels.bulkGet(e.map(e=>e.channelId));return e.map((e,n)=>({key:`r${e.id}`,start:e.start,title:e.title,channel:t[n]||null,channelName:e.channelName,live:!1}))}async function ju(e){let[t,n]=await Promise.all([pu(e,`movie`).then(e=>xu(e)),pu(e,`series`).then(e=>xu(e))]),r=t.map(e=>V(V({},e),{},{kind:`movie`}));for(let e of n)r.some(t=>t.platform.key===e.platform.key)||r.push(V(V({},e),{},{kind:`series`}));let i=e=>Js.findIndex(t=>t.key===e);return r.sort((e,t)=>i(e.platform.key)-i(t.platform.key))}var Mu=`utopya.seriesSeen`,Nu=()=>{try{return JSON.parse(localStorage.getItem(Mu)||`{}`)}catch(e){return{}}};function Pu(e){let t=Nu();t[e]=Date.now();try{localStorage.setItem(Mu,JSON.stringify(t))}catch(e){}}var Fu=Date.UTC(2001,0,1);async function Iu(e){let t=await K.favorites.where(`[providerId+kind]`).equals([e,`series`]).toArray(),n=await K.series.bulkGet(t.map(e=>e.id)),r=Nu(),i=[];for(let e=0;e<t.length;e++){let a=n[e];if(!a||a.added<Fu)continue;let o=Math.max(t[e].order,r[a.id]||0);await K.progress.where(`seriesId`).equals(a.id).each(e=>{e.updated>o&&(o=e.updated)}),a.added>o&&i.push(a)}return i.sort((e,t)=>t.added-e.added).slice(0,20)}var Lu=e=>e.split(/[,/|&]/).map(e=>e.trim()).filter(e=>e.length>=2&&e.length<=30);function Ru(e,t){let n=e.slice(),r=t,i=()=>{r=r+1831565813|0;let e=Math.imul(r^r>>>15,1|r);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296};for(let e=n.length-1;e>0;e--){let t=Math.floor(i()*(e+1)),r=n[e];n[e]=n[t],n[t]=r}return n}async function zu(e){let t=(await K.progress.where(`providerId`).equals(e).toArray()).filter(e=>e.kind===`movie`&&e.position>0);if(!t.length)return null;let n=new Map;for(let e of await K.movies.bulkGet(t.map(e=>e.id)))if(e&&e.genre)for(let t of Lu(e.genre)){let e=t.toLowerCase(),r=n.get(e);r?r.n++:n.set(e,{name:t,n:1})}let r=[];n.forEach((e,t)=>r.push({k:t,name:e.name}));let i=Bu(r,e=>n.get(e.k).n,2);if(!i.length)return null;let a=[];await K.movies.where(`providerId`).equals(e).each(e=>{if(!e.rating||e.rating<6||!e.genre)return;let t=e.genre.toLowerCase();i.some(e=>t.indexOf(e.k)>=0)&&a.push(e)});let o=await K.progress.bulkGet(a.map(e=>e.id)),s=a.filter((e,t)=>!o[t]||!o[t].watched).sort((e,t)=>t.rating-e.rating||t.added-e.added).slice(0,60),c=new Date;return{genres:i.map(e=>e.name),items:Ru(s,wu()+c.getFullYear()*1e3).slice(0,12)}}function Bu(e,t,n){return e.map((e,t)=>({x:e,i:t})).sort((e,n)=>t(n.x)-t(e.x)||e.i-n.i).slice(0,n).map(e=>e.x)}async function Vu(e){let t=Date.now(),n=t+18e5,r=(await Vl(e,{type:`fav`})).slice(0,30),i=(await K.channels.bulkGet(r)).filter(e=>!!e),a=[];for(let e of i)for(let r of await sl(e,t,n))r.start>t&&r.start<=n&&a.push({key:`s${r.id}`,start:r.start,title:r.title,channel:e,channelName:e.name,live:!1,program:r});return a.sort((e,t)=>e.start-t.start).slice(0,20)}var Hu=I(null),Uu=I(new Set),Wu=6e4;async function Gu(){Uu.value=new Set(await K.reminders.toCollection().primaryKeys())}async function Ku(e,t,n=0){let r=!await K.reminders.get(e.id)||n!==0;return r?await K.reminders.put({id:e.id,providerId:t.providerId,channelId:t.id,channelName:t.name,title:e.title,start:e.start,stop:e.stop,repeat:n}):await K.reminders.delete(e.id),await Gu(),r}var qu=async e=>{await K.reminders.delete(e),await Gu()},Ju={1:864e5,2:6048e5};function Yu(){Gu();let e=async()=>{if(Hu.peek())return;let e=await K.reminders.where(`start`).belowOrEqual(Date.now()+Wu).first();if(e){if(await K.reminders.delete(e.id),e.repeat){let t=Ju[e.repeat],n=e.start+t;for(;n<Date.now();)n+=t;await K.reminders.put(V(V({},e),{},{id:-n,start:n,stop:e.stop===void 0?void 0:e.stop+(n-e.start)}))}await Gu(),e.start>Date.now()-6e5&&(Hu.value=e)}};e(),setInterval(e,15e3)}function Xu({src:e,size:t}){return M(`span`,{class:`channel-logo`,style:{width:`${t*1.4/10}rem`,height:`${t/10}rem`},children:e&&M(`img`,{src:e,alt:``,onError:e=>e.currentTarget.style.visibility=`hidden`})})}function Zu({value:e,class:t}){return M(`span`,{class:`progress-line ${t||``}`,children:M(`span`,{style:{width:`${Math.round(e*100)}%`}})})}function Qu({text:e,active:t}){let n=F(null),r=F(null);return P(()=>{let e=n.current,i=r.current,a=i.scrollWidth-e.clientWidth;t&&a>0?(i.style.setProperty(`--marquee`,`${-a}px`),i.style.animationDuration=`${Math.max(3,a/40)}s`,i.classList.add(`run`)):i.classList.remove(`run`)},[t,e]),M(`span`,{class:`marquee`,ref:n,children:M(`span`,{ref:r,children:e})})}function $u(e){let t=e.channel;return M(`button`,{onlongpress:e.onLongPress,class:`channel-row focus-row ${e.current?`selected`:`idle`}${e.compact?` compact`:``}`,"data-focus":!0,"data-idx":e.index,"data-focus-default":e.focused||void 0,style:{top:`${e.index*e.pitch}rem`},onClick:e.onClick,children:[e.number!==null&&M(`span`,{class:`ch-number`,children:e.number}),e.compact?M(Xu,{src:t?t.logo:null,size:30}):M(`span`,{class:`ch-logo-box`,children:M(Xu,{src:t?t.logo:null,size:44})}),M(`span`,{class:`ch-text`,children:[M(`span`,{class:`ch-name`,children:[M(Qu,{text:t?t.name:``,active:e.marquee}),e.favorite&&M(z,{name:`star`,class:`fav-star`})]}),e.program&&M(`span`,{class:`ch-program`,children:e.program.title}),e.program&&!e.compact&&M(Zu,{value:hl(e.program),class:`ch-progress`})]})]})}var ed=I({type:`all`}),td=I(``),nd=I(null),rd=I(null),id=I(new Set);async function ad(e){let t=await K.favorites.where(`[providerId+kind]`).equals([e,`live`]).primaryKeys();id.value=new Set(t)}var od=I([]);function sd(e){let t=document.activeElement;od.value=[...od.value,{page:e,restore:t}],t&&t!==document.body&&t.blur()}function cd(){let e=od.value;if(!e.length)return;let t=e[e.length-1];od.value=e.slice(0,-1),setTimeout(()=>t.restore&&t.restore.isConnected&&t.restore.focus(),0)}var ld=e=>{let t=od.value;od.value=[...t.slice(0,-1),{page:e,restore:t.length?t[t.length-1].restore:null}]},Y=I(`home`),ud=I(`live`),dd=0;function fd(e,t,n){rd.value={ids:e,index:t,archive:n,seq:++dd},Y.value!==`player`&&(ud.value=Y.value),Y.value=`player`}var pd=()=>{Y.value=ud.value};function md(e){let{pager:t,count:n,index:r}=e,[i,a]=N(new Map),[o,s]=N(0),c=e.listRef,l=e.compact?6:7.2,u=c.current?Math.ceil(c.current.clientHeight/gd()/l):10;P(()=>{let e=o;r<o+2?e=Math.max(0,r-2):r>o+u-1-2&&(e=Math.max(0,Math.min(n-u,r-u+1+2))),e!==o&&s(e)},[r,n,u]);let d=Math.max(0,o-3),f=Math.min(n,o+u+3);P(()=>{if(!t)return;let e=!0;return t.range(d,f).then(t=>{if(!e)return;let n=new Map;t.forEach((e,t)=>n.set(d+t,e)),a(n)}),()=>{e=!1}},[t,d,f]),P(()=>{c.current&&(c.current.scrollTop=o*l*gd())},[o]);let[p,m]=N(new Map),h=yl.value;P(()=>{let e=!0,t=[...i.values()].filter(e=>!!e),n=()=>{let e=new Map;for(let n of t){let t=hd.get(n.id);t&&t.tick===h&&e.set(n.id,t.now)}return e};m(n());let r=t.filter(e=>{let t=hd.get(e.id);return!t||t.tick!==h});if(!r.length)return;let a=setTimeout(()=>{Promise.all(r.map(e=>ll(e).then(t=>{hd.set(e.id,{tick:h,now:t.now})}))).then(()=>{e&&m(n())})},300);return()=>{e=!1,clearTimeout(a)}},[i,h]),P(()=>{if(!e.focused||!c.current)return;let t=c.current.querySelector(`[data-idx="${r}"]`);t&&document.activeElement!==t&&t.focus()},[r,d]),Wt(t=>{if(!c.current||!c.current.contains(document.activeElement))return;let i=t===`up`?-1:t===`down`?1:t===`chUp`?-u:t===`chDown`?u:0;if(!i)return;let a=Math.max(0,Math.min(n-1,r+i));return a!==r&&e.setIndex(a),!0});let g=id.value,_=[];for(let t=d;t<f;t++){let n=i.get(t);_.push(M($u,{compact:e.compact,current:t===e.current,pitch:l,channel:n,index:t,number:e.numberOf(n,t),favorite:!!n&&g.has(n.id),program:n&&p.get(n.id)||null,focused:t===r,marquee:e.focused&&t===r,onClick:()=>e.onOpen(t),onLongPress:()=>e.onMenu(t)},t))}return M(`div`,{class:`channel-list${e.compact?` compact`:``}`,ref:c,"data-focus-group":e.group,"data-focus-noscroll":!0,children:M(`div`,{class:`channel-list-inner`,style:{height:`${n*l}rem`},children:_})})}var hd=new Map,gd=()=>parseFloat(getComputedStyle(document.documentElement).fontSize),_d=e=>e&&e>0?`★ ${Math.round(e*10)/10}`:null,vd=e=>e.item?{"data-hero-kind":`url`in e.item?`movie`:`series`,"data-hero-id":String(e.item.id),"data-hero-ep":e.episode?String(e.episode.id):void 0}:{},yd=e=>{let t=e.item,n=t?t.name:e.title;return[e.rating&&e.rating>0?`★ ${e.rating.toFixed(1)}`:null,t&&t.year&&n.indexOf(`(${t.year})`)<0?t.year:null].filter(Boolean).join(` · `)},bd=e=>{if(e.episode)return`S${vu(e.episode.season)}E${vu(e.episode.episode)}`;let t=e.item;if(!t)return``;let n=t.genre?t.genre.split(/[,/|&]/)[0].trim():``;return[t.year,n].filter(Boolean).join(` · `)};function xd(e){let t=e.card;return M(`button`,V(V({onlongpress:e.onLongPress,class:`poster-card plain`,"data-focus":!0,"data-focus-initial":e.initial||void 0,"data-info-title":t.item?t.item.name:t.title,"data-info-meta":yd(t)},vd(t)),{},{onClick:e.onClick,children:t.poster&&M(dn,{src:sn(t.poster,342),onError:e=>e.currentTarget.style.display=`none`})}))}function Sd(e){let t=e.card,n=t.item,r=n&&`backdrop`in n?n.backdrop:null,i=t.episode&&t.episode.poster||r||t.poster,a=bd(t);return M(`button`,V(V({onlongpress:e.onLongPress,class:`wide-card`,"data-focus":!0,"data-focus-initial":e.initial||void 0},vd(t)),{},{onClick:e.onClick,children:[i&&M(dn,{src:sn(i,780),onError:e=>e.currentTarget.style.display=`none`}),M(`span`,{class:`wc-shade`}),M(`span`,{class:`wc-text`,children:[M(`span`,{class:`wc-title`,children:n?n.name:t.title}),a&&M(`span`,{class:`wc-sub`,children:a})]}),t.badge&&M(`span`,{class:`wc-badge`,children:t.badge}),!!t.progress&&M(`span`,{class:`poster-progress wc-progress`,children:M(`span`,{style:{width:`${Math.round(t.progress*100)}%`}})})]}))}function Cd(e){return e.kind===`movie`?M(xd,V({},e)):M(Sd,V({},e))}function wd({onClick:e,wide:t}){return M(`button`,{class:`${t?`wide-card`:`poster-card plain`} see-all`,"data-focus":!0,onClick:e,children:R(`shelf_see_all`)})}function Td({p:e,class:t}){let n=Qs(e);return n?M(`img`,{class:`${t||``}${e.tintWhite===!1?` own-color`:` tint-white`}`,src:n,alt:e.name}):M(`b`,{class:t,children:e.name})}function Ed({tile:e,onClick:t,initial:n}){let r=e.platform;return M(`button`,{class:`platform-tile`,"data-focus":!0,"data-focus-initial":n||void 0,onClick:t,children:[M(`span`,{class:`pt-collage`,children:e.posters.map(e=>M(dn,{src:sn(e,342)},e))}),M(`span`,{class:`pt-shade`,style:{background:`linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.7) 60%, ${Dd(r.color,.85)})`}}),M(`span`,{class:`pt-logo`,children:M(Td,{p:r})})]})}var Dd=(e,t)=>{let n=parseInt(e.slice(1),16);return`rgba(${n>>16},${n>>8&255},${n&255},${t})`},Od=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function kd(e,t){let n=new RegExp(Od(t.name),`i`),r=n.test(e)?n:new RegExp(t.keywords.map(e=>Od(e.trim())).filter(Boolean).join(`|`),`i`);return e.replace(r,``).replace(/^[\s·|\-:/+]+|[\s·|\-:/]+$/g,``)||e}function Ad({title:e,children:t,info:n,cls:r}){let i=F(null),[a,o]=N(null);P(()=>{let e=i.current,t=t=>{let n=t.target;e.scrollLeft=Math.max(0,n.offsetLeft-1.6*gd());let r=n.getAttribute(`data-info-title`);o(r?{title:r,meta:n.getAttribute(`data-info-meta`)||``}:null)},n=()=>setTimeout(()=>{e.contains(document.activeElement)||o(null)},0);return e.addEventListener(`focusin`,t),e.addEventListener(`focusout`,n),()=>{e.removeEventListener(`focusin`,t),e.removeEventListener(`focusout`,n)}},[]);let[s,c]=ke(()=>{let t=Zs(e);return[t,t?kd(e,t):e]},[e]);return M(`section`,{class:r?`shelf ${r}`:`shelf`,children:[M(`h2`,{class:`shelf-title`,children:[s&&M(`span`,{class:`shelf-logo`,children:M(Td,{p:s})}),c]}),M(`div`,{class:`shelf-row`,ref:i,"data-focus-group":`shelf-${e}`,children:t}),n&&M(`p`,{class:`shelf-info`,children:[a&&M(`b`,{children:a.title}),a&&a.meta&&M(`span`,{children:` ${a.meta}`})]})]})}var jd=8;function Md(e,t){t.episode?sd({name:`vod`,kind:`episode`,id:t.episode.id,seriesId:t.id}):t.progress!==void 0&&e===`movie`?sd({name:`vod`,kind:`movie`,id:t.id}):sd(e===`movie`?{name:`movie`,id:t.id}:{name:`series`,id:t.id})}function Nd({kind:e}){var t;let n=Nc.value,r=((t=(Mc.value||[]).find(e=>e.id===n))==null?void 0:t.lastSync)||0,[i,a]=N(null),[o,s]=N(null),[c,l]=N(0),u=od.value.length,d=F(!1);P(()=>{u===0&&d.current&&l(e=>e+1),d.current=u>0},[u]);let[f,p]=N(jd),m=F([]),h=F(!1),g=F(``);P(()=>{let t=!0;return g.current!==`${n}|${e}|${r}`&&p(jd),(async()=>{let i=(await pu(n,e)).filter(e=>!e.adult);m.current=i;let[o,s,c,l]=await Promise.all([_u(n,e),xu(i),gu(n,e),mu(n,e)]),u={cont:o,tiles:s,favs:c,recent:l,genres:[],cats:[],next:0};if(!t)return;let d=g.current===`${n}|${e}|${r}`;g.current=`${n}|${e}|${r}`,a(d?e=>e?V(V({},u),{},{genres:e.genres,cats:e.cats,next:e.next}):u:u);let[f,p]=await Promise.all([bu(n,e,r),uu(u.cont)]);t&&a(e=>e&&V(V({},e),{},{genres:f,cont:p}))})(),()=>{t=!1}},[n,e,r,c]),P(()=>{if(!i||h.current||i.cats.length>=f||i.next>=m.current.length)return;h.current=!0;let e=!0;return(async()=>{let t=[],n=i.next,r=m.current;for(;n<r.length&&i.cats.length+t.length<f;){let e=await hu(r[n].id,20);e.length&&t.push({c:r[n],items:e}),n++}h.current=!1,e&&a(e=>e&&V(V({},e),{},{cats:[...e.cats,...t],next:n}))})(),()=>{e=!1,h.current=!1}},[i,f]);let _=e=>{let t=e.target.closest(`.cat-shelf`);t&&i&&Array.prototype.indexOf.call(t.parentElement.querySelectorAll(`.cat-shelf`),t)>=i.cats.length-3&&p(e=>Math.max(e,i.cats.length+jd))};if(!i)return null;if(!i.cats.length&&!i.recent.length&&!i.cont.length)return M(`p`,{class:`empty`,children:R(`vod_empty`)});let v=async(t,r)=>{let i=t.item;if(!i)return;let a=[],o=()=>l(e=>e+1);if(!(e===`series`&&r)){let t=!!await K.favorites.get(i.id);a.push({label:R(t?`vod_remove_favorite`:`vod_add_favorite`),onSelect:async()=>{await Wl(n,e,i.id),o()}})}if(e===`movie`&&a.push({label:R(`vod_mark_watched`),onSelect:async()=>{await su(`movie`,i.id,n,null,!0),o()}},{label:R(`vod_mark_unwatched`),onSelect:async()=>{await su(`movie`,i.id,n,null,!1),o()}}),r){let e=t.episode?t.episode.id:i.id;a.push({label:R(`menu_remove_continue`),onSelect:async()=>{await K.progress.delete(e),o()}})}s({title:t.title,items:a})},y=!1,b=()=>y?!1:y=!0;return M(`div`,{class:`vod-home`,onFocusCapture:_,children:[i.cont.length>0&&M(Ad,{title:R(`shelf_continue`),children:i.cont.map(t=>M(Sd,{card:t,initial:b(),onClick:()=>Md(e,t),onLongPress:()=>v(t,!0)},t.key))}),i.tiles.length>0&&M(Ad,{title:R(`shelf_platforms`),children:i.tiles.map(t=>M(Ed,{tile:t,initial:b(),onClick:()=>sd({name:`browse`,kind:e,title:t.platform.name,filter:{categoryIds:t.categoryIds,platformKey:t.platform.key}})},t.platform.key))}),i.favs.length>0&&M(Ad,{title:R(`shelf_favorites`),info:e===`movie`,children:i.favs.map(t=>{let n=fu(t);return M(Cd,{kind:e,card:n,initial:b(),onClick:()=>Md(e,n),onLongPress:()=>v(n,!1)},n.key)})}),i.recent.length>0&&M(Ad,{title:R(`shelf_recent`),info:e===`movie`,children:[i.recent.map(t=>{let n=fu(t);return M(Cd,{kind:e,card:n,initial:b(),onClick:()=>Md(e,n),onLongPress:()=>v(n,!1)},n.key)}),M(wd,{wide:e===`series`,onClick:()=>sd({name:`browse`,kind:e,title:R(`browse_all`),filter:{all:!0}})})]}),i.genres.length>0&&M(Ad,{title:R(`shelf_genres`),children:i.genres.map(t=>M(`button`,{class:`chip genre-chip`,"data-focus":!0,onClick:()=>sd({name:`browse`,kind:e,title:t,filter:{genre:t}}),children:t},t))}),i.cats.map(({c:t,items:n})=>M(Ad,{cls:`cat-shelf`,title:Us(t.name,q.value.filterWords),info:e===`movie`,children:[n.map(t=>{let n=fu(t);return M(Cd,{kind:e,card:n,onClick:()=>Md(e,n),onLongPress:()=>v(n,!1)},n.key)}),M(wd,{wide:e===`series`,onClick:()=>sd({name:`browse`,kind:e,title:t.name,filter:{categoryIds:[t.id]}})})]},t.id)),o&&M(vn,{title:o.title,items:o.items,onClose:()=>s(null)})]})}var Pd=350,Fd=()=>{let e=new Date().getHours();return R(e>=5&&e<=11?`home_greeting_morning`:e>=12&&e<=17?`home_greeting_day`:`home_greeting_evening`)};function Id({providerId:e}){let n=Mc.value||[],r=n.find(t=>t.id===e),[i,a]=N(null),[o,s]=N(null),[c,l]=N(0),u=F(null),d=F(null),f=F(null),p=ke(()=>I(null),[]),m=F(void 0),h=F(!1),g=()=>l(e=>e+1),_=od.value.length,v=F(!1);P(()=>{_===0&&v.current&&g(),v.current=_>0},[_]),P(()=>{let n=!0;(async()=>{let i=performance.now(),o=t(`türler`,bu(e,`movie`,r&&r.lastSync||0)),[s,c,l,u,d,f,p,m,h,g,_,v,y]=await Promise.all([t(`devam film`,_u(e,`movie`)),t(`devam dizi`,_u(e,`series`)),t(`en iyi film`,Eu(e,`movie`)),t(`platformlar`,ju(e)),t(`sıradaki`,Du(e)),t(`yeni bölüm`,Iu(e)),t(`sana özel`,zu(e)),t(`favori kanal`,Ou(e,`fav`)),t(`son kanal`,Ou(e,`recent`)),t(`yayın akışı`,Au()),t(`yeni film`,mu(e,`movie`,20)),t(`yeni dizi`,mu(e,`series`,20)),t(`en iyi dizi`,Eu(e,`series`))]);`${Math.round(performance.now()-i)}`;let b={hero:Tu(l),cont:[...s,...c].sort((e,t)=>(t.updated||0)-(e.updated||0)).slice(0,20),up:d,newEps:f.map(e=>V(V({},fu(e)),{},{key:`n${e.id}`,badge:R(`home_new_episode_badge`)})),forYou:p,soon:[],genres:[],favs:m,recents:h,tonight:[],schedule:g,tiles:u,newMovies:_,newSeries:v,topMovies:l,topSeries:y};if(!n)return;a(b);let x=()=>{n&&a(V({},b))};o.then(e=>{b.genres=e,e.length&&x()});let S=await t(`arka planlar`,uu(b.cont));S!==b.cont&&(b.cont=S,x()),b.soon=await t(`birazdan`,Vu(e)),x(),b.tonight=await t(`bu akşam`,ku(e)),x()})();let i=()=>g();return window.addEventListener(`utopya:progress`,i),()=>{n=!1,window.removeEventListener(`utopya:progress`,i)}},[e,r&&r.lastSync,c]),P(()=>{let e=()=>{h.current=!0};return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[]);let y=F(Date.now()),b=F(!1),S=F(void 0);P(()=>{i&&!b.current&&(b.current=!0,S.current=window.setTimeout(()=>{if(h.current||od.peek().length)return;let e=document.activeElement;(!e||e===document.body||e.closest(`.topbar`))&&L(f.current)},Math.max(0,1200-(Date.now()-y.current))))},[i]),P(()=>()=>clearTimeout(S.current),[]);let ee=async(t,n)=>{let r=await Vl(e,{type:t}),i=r.indexOf(n);i>=0&&fd(r,i)},C={HERO:()=>null,CONTINUE:()=>i.cont.length?M(Ad,{title:R(`shelf_continue`),children:i.cont.map(e=>M(Sd,{card:e,onClick:()=>Md(e.episode?`series`:`movie`,e),onLongPress:()=>s({title:e.title,items:[{label:R(`menu_open`),onSelect:()=>Md(e.episode?`series`:`movie`,e)},{label:R(`menu_remove_continue`),onSelect:async()=>{await K.progress.delete(e.episode?e.episode.id:e.id),g()}}]})},e.key))}):null,UP_NEXT:()=>i.up.length?M(Ad,{title:R(`home_up_next`),children:i.up.map(e=>{let t=()=>sd({name:`vod`,kind:`episode`,id:e.episode.id,seriesId:e.id,startMs:0});return M(Sd,{card:e,onClick:t,onLongPress:()=>s({title:e.title,items:[{label:R(`menu_open`),onSelect:t},{label:R(`menu_remove_up_next`),onSelect:async()=>{await K.progress.where(`seriesId`).equals(e.id).delete(),g()}}]})},e.key)})}):null,NEW_EPISODES:()=>i.newEps.length?M(Ad,{title:R(`home_new_episodes`),children:i.newEps.map(e=>M(Sd,{card:e,onClick:()=>sd({name:`series`,id:e.id}),onLongPress:()=>s({title:e.title,items:[{label:R(`home_dismiss_new`),onSelect:()=>{Pu(e.id),g()}}]})},e.key))}):null,FOR_YOU:()=>i.forYou&&i.forYou.items.length?k(R(`home_for_you_genres`,i.forYou.genres.join(`, `)),i.forYou.items,`movie`):null,STARTING_SOON:()=>i.soon.length?M(Ad,{title:R(`home_starting_soon`),children:i.soon.map(e=>M(Vd,{pc:e,badge:Uu.value.has(e.program.id)?R(`home_reminder_badge`):void 0,onClick:async()=>B(R(await Ku(e.program,e.channel)?`guide_reminder_set`:`guide_reminder_removed`)),onLongPress:()=>s({title:e.title,items:[{label:R(`home_open_channel`),onSelect:()=>ee(`fav`,e.channel.id)}]})},e.key))}):null,GENRES:()=>i.genres.length?M(Ad,{title:R(`home_genres`),children:i.genres.map(e=>M(`button`,{class:`chip genre-chip`,"data-focus":!0,onClick:()=>sd({name:`browse`,kind:`movie`,title:e,filter:{genre:e}}),children:e},e))}):null,FAVORITE_CHANNELS:()=>i.favs.length?M(Ad,{title:R(`home_favorite_channels`),children:i.favs.map(t=>M(Bd,{cc:t,onClick:()=>ee(`fav`,t.channel.id),onLongPress:()=>s({title:t.channel.name,items:[{label:R(`menu_remove_favorite`),onSelect:async()=>{await Wl(e,`live`,t.channel.id),g()}}]})},t.channel.id))}):null,RECENT_CHANNELS:()=>i.recents.length?M(Ad,{title:R(`home_recent_channels`),children:i.recents.map(e=>M(Bd,{cc:e,onClick:()=>ee(`recent`,e.channel.id),onLongPress:()=>s({title:e.channel.name,items:[{label:R(`menu_remove_recent`),onSelect:async()=>{await K.recents.delete(e.channel.id),g()}}]})},e.channel.id))}):null,TONIGHT_SPORTS:()=>i.tonight.length?M(Ad,{title:R(`home_tonight`),children:i.tonight.map(e=>M(Vd,{pc:e,onClick:()=>e.channel&&ee(`all`,e.channel.id)},e.key))}):null,SCHEDULE:()=>i.schedule.length?M(Ad,{title:R(`home_schedule`),children:i.schedule.map(e=>M(Vd,{pc:e,onClick:()=>e.channel&&ee(`all`,e.channel.id)},e.key))}):null,PLATFORMS:()=>i.tiles.length?M(Ad,{title:R(`shelf_platforms`),children:i.tiles.map(e=>M(Ed,{tile:e,onClick:()=>sd({name:`browse`,kind:e.kind,title:e.platform.name,filter:{categoryIds:e.categoryIds,platformKey:e.platform.key}})},e.platform.key))}):null,NEW_MOVIES:()=>k(R(`home_new_movies`),i.newMovies,`movie`),NEW_SERIES:()=>k(R(`home_new_series`),i.newSeries,`series`),TOP_RATED:()=>i.topMovies.length||i.topSeries.length?M(x,{children:[k(R(`home_top_movies`),i.topMovies,`movie`),k(R(`home_top_series`),i.topSeries,`series`)]}):null},w=i?q.value.homeShelves.filter(e=>e in C).map(e=>({k:e,el:C[e]()})).filter(e=>e.el):[],T=i&&i.hero?{kind:`movie`,item:i.hero}:null,E=(yt(()=>!!p.value).value||!!T)&&q.value.homeShelves.indexOf(`HERO`)>=0,D=e=>{let t=e.target,n=t.closest(`.shelf`),r=d.current,i=f.current;if(E&&n&&r&&i){let e=r.clientHeight-parseFloat(getComputedStyle(r).paddingBottom);i.style.transform=`translateY(${-Math.min(n.offsetTop,Math.max(0,i.offsetHeight-e))}px)`}let a=t.closest(`[data-hero-id]`);if(!a)return;clearTimeout(m.current);let o=a.getAttribute(`data-hero-kind`),s=+a.getAttribute(`data-hero-id`),c=a.getAttribute(`data-hero-ep`);m.current=window.setTimeout(async()=>{if(o===`movie`){let e=await K.movies.get(s);e&&(p.value={kind:o,item:await nu(e)},`${Math.round(performance.now())}`)}else{let e=await K.series.get(s);if(!e)return;let t=await ru(e);p.value={kind:o,item:t.series,episode:c?t.episodes.find(e=>e.id===+c):void 0},`${Math.round(performance.now())}`}},Pd)};P(()=>()=>clearTimeout(m.current),[]),P(()=>{!E&&f.current&&(f.current.style.transform=``)},[E]),Wt(e=>{if(!E||e!==`up`&&e!==`down`||!f.current)return;let t=document.activeElement;if(!t||!f.current.contains(t))return;let n=Array.prototype.slice.call(f.current.querySelectorAll(`.shelf`)),r=n[n.indexOf(t.closest(`.shelf`))+(e===`up`?-1:1)];if(!r)return e===`down`||void 0;let i=r.querySelector(`.shelf-row`);return Rt(i&&Bt(i))});let O=M(`div`,{class:`home-actions`,children:[M(`button`,{class:`round-btn`,"data-focus":!0,"aria-label":R(`home_edit`),title:R(`home_edit`),onClick:()=>sd({name:`homeEdit`}),children:M(z,{name:`edit`})}),n.length>1&&M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>s({title:R(`home_switch_source`),items:n.map(t=>({label:t.name,checked:t.id===e,onSelect:()=>Lc(t.id)}))}),children:R(`home_switch_source`)})]});return M(`div`,{class:`home${E?` with-hero`:``}`,ref:u,children:[E?M(zd,{hero:p,fallback:T,actions:O}):M(`div`,{class:`home-head`,children:[M(`h1`,{children:Fd()}),r&&M(`span`,{class:`muted`,children:` · ${r.name}`}),M(`span`,{class:`spacer`}),O]}),M(`div`,{class:`home-shelves`,ref:d,"data-focus-noscroll":E||void 0,onFocusCapture:D,onScroll:E?e=>{e.currentTarget.scrollTop=0}:void 0,children:M(`div`,{class:`home-list`,ref:f,children:[i&&!w.length&&M(`p`,{class:`home-empty`,children:R(`home_empty`)}),w.map(e=>M(`div`,{class:`home-block`,children:e.el},e.k))]})}),o&&M(vn,{title:o.title,items:o.items,onClose:()=>s(null)})]});function k(e,t,n){return t.length?n===`series`?M(Ad,{title:e,children:t.map(e=>{let t=fu(e);return M(Sd,{card:t,onClick:()=>Md(n,t)},t.key)})}):M(Ad,{title:e,children:t.map(e=>{let t=fu(e);return M(xd,{card:t,onClick:()=>Md(n,t)},t.key)})}):null}}var Ld=e=>e.split(` / `)[0].replace(/\s*\(\d{4}\)\s*$/,``);async function Rd(e){if(e.kind===`movie`){sd({name:`vod`,kind:`movie`,id:e.item.id});return}let t=e.episode||(await ru(e.item)).episodes[0];sd(t?{name:`vod`,kind:`episode`,id:t.id,seriesId:e.item.id}:{name:`series`,id:e.item.id})}function zd({hero:e,fallback:t,actions:n}){let r=e.value||t;if(!r)return null;let i=r.item,a=i.backdrop||i.poster,o=a&&sn(a,1280),s=i.rating&&i.rating>0?i.rating.toFixed(1):null,c=i.genre?i.genre.split(/[,/|&]/).map(e=>e.trim()).filter(Boolean).slice(0,2).join(` · `):``;return M(`div`,{class:`hero2`,children:[M(`div`,{class:`hero2-bg`,children:o&&M(`img`,{src:o,alt:``},o)}),M(`div`,{class:`hero2-actions`,children:n}),M(`div`,{class:`hero2-info`,children:[M(`span`,{class:`hero2-kind`,children:R(r.kind===`movie`?`home_kind_movie`:`home_kind_series`)}),M(`h2`,{class:`hero2-title`,children:Ld(i.name)}),M(`p`,{class:`hero2-meta`,children:[s&&M(`b`,{children:`★ ${an.value===`tr`?s.replace(`.`,`,`):s}`}),i.year&&M(`span`,{children:i.year}),c&&M(`span`,{children:c})]}),M(`p`,{class:`hero2-plot`,children:i.plot||``}),M(`div`,{class:`row hero2-buttons`,"data-focus-group":`hero`,children:[M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:()=>Rd(r),children:R(`vod_play`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>sd(r.kind===`movie`?{name:`movie`,id:i.id}:{name:`series`,id:i.id}),children:R(`home_details`)})]})]})]})}function Bd({cc:e,onClick:t,onLongPress:n}){let r=e.channel;return M(`div`,{class:`channel-tile`,children:[M(`button`,{onlongpress:n,class:`ct-card`,"data-focus":!0,onClick:t,children:r.logo?M(Xu,{src:r.logo,size:60}):M(`span`,{class:`ct-name-big`,children:r.name})}),M(`span`,{class:`ct-name`,children:r.name}),e.now&&M(x,{children:[M(`span`,{class:`ct-program`,children:e.now.title}),M(Zu,{value:hl(e.now),class:`ct-progress`})]})]})}function Vd({pc:e,onClick:t,onLongPress:n,badge:r}){return M(`button`,{onlongpress:n,class:`program-tile`,"data-focus":!0,onClick:t,children:[M(`span`,{class:`pt-logo-box`,children:e.channel&&e.channel.logo&&M(Xu,{src:e.channel.logo,size:40})}),M(`span`,{class:`pt-text`,children:[M(`span`,{class:`pt-time`,children:[_l(e.start),e.live&&M(`span`,{class:`pt-badge`,children:R(`home_live_now`)}),r&&M(`span`,{class:`pt-badge reminder`,children:r})]}),M(`span`,{class:`pt-title`,children:e.title}),M(`span`,{class:`pt-channel`,children:e.channelName})]})]})}var Hd={_doc:`Ülke öneki → görünen ad [tr, en]. Chromium 56'da Intl.DisplayNames olmadığı için Tizen bu tabloyu kullanır; listede olmayan kod olduğu gibi gösterilir. Android cihaz yerel ayarını (Locale.displayCountry) kullanır; UK/EN → Birleşik Krallık, EX → Ex-YU kuralları aynı.`,countries:{TR:{tr:`Türkiye`,en:`Türkiye`},DE:{tr:`Almanya`,en:`Germany`},UK:{tr:`Birleşik Krallık`,en:`United Kingdom`},EN:{tr:`Birleşik Krallık`,en:`United Kingdom`},GB:{tr:`Birleşik Krallık`,en:`United Kingdom`},US:{tr:`Amerika Birleşik Devletleri`,en:`United States`},USA:{tr:`Amerika Birleşik Devletleri`,en:`United States`},CA:{tr:`Kanada`,en:`Canada`},FR:{tr:`Fransa`,en:`France`},IT:{tr:`İtalya`,en:`Italy`},ES:{tr:`İspanya`,en:`Spain`},PT:{tr:`Portekiz`,en:`Portugal`},NL:{tr:`Hollanda`,en:`Netherlands`},BE:{tr:`Belçika`,en:`Belgium`},AT:{tr:`Avusturya`,en:`Austria`},CH:{tr:`İsviçre`,en:`Switzerland`},PL:{tr:`Polonya`,en:`Poland`},RO:{tr:`Romanya`,en:`Romania`},BG:{tr:`Bulgaristan`,en:`Bulgaria`},GR:{tr:`Yunanistan`,en:`Greece`},AL:{tr:`Arnavutluk`,en:`Albania`},RS:{tr:`Sırbistan`,en:`Serbia`},HR:{tr:`Hırvatistan`,en:`Croatia`},BA:{tr:`Bosna-Hersek`,en:`Bosnia and Herzegovina`},MK:{tr:`Kuzey Makedonya`,en:`North Macedonia`},SI:{tr:`Slovenya`,en:`Slovenia`},HU:{tr:`Macaristan`,en:`Hungary`},CZ:{tr:`Çekya`,en:`Czechia`},SK:{tr:`Slovakya`,en:`Slovakia`},RU:{tr:`Rusya`,en:`Russia`},UA:{tr:`Ukrayna`,en:`Ukraine`},SE:{tr:`İsveç`,en:`Sweden`},NO:{tr:`Norveç`,en:`Norway`},DK:{tr:`Danimarka`,en:`Denmark`},FI:{tr:`Finlandiya`,en:`Finland`},IE:{tr:`İrlanda`,en:`Ireland`},AZ:{tr:`Azerbaycan`,en:`Azerbaijan`},GE:{tr:`Gürcistan`,en:`Georgia`},IR:{tr:`İran`,en:`Iran`},IQ:{tr:`Irak`,en:`Iraq`},AR:{tr:`Arap ülkeleri`,en:`Arabic`},ARA:{tr:`Arap ülkeleri`,en:`Arabic`},IN:{tr:`Hindistan`,en:`India`},PK:{tr:`Pakistan`,en:`Pakistan`},AF:{tr:`Afganistan`,en:`Afghanistan`},BR:{tr:`Brezilya`,en:`Brazil`},MX:{tr:`Meksika`,en:`Mexico`},LAT:{tr:`Latin Amerika`,en:`Latin America`},AU:{tr:`Avustralya`,en:`Australia`},NZ:{tr:`Yeni Zelanda`,en:`New Zealand`},CY:{tr:`Kıbrıs`,en:`Cyprus`},KU:{tr:`Kürtçe`,en:`Kurdish`},KUR:{tr:`Kürtçe`,en:`Kurdish`},EX:{tr:`Ex-YU`,en:`Ex-YU`},EXYU:{tr:`Ex-YU`,en:`Ex-YU`}}},Ud=(e,t)=>e&&e!==`und`?e.toUpperCase():`#${t+1}`,Wd=class{constructor(e,t){sr(this,`av`,webapis.avplay),sr(this,`rect`,{x:0,y:0,w:window.innerWidth,h:window.innerHeight}),sr(this,`aspect`,`fit`),sr(this,`ev`,void 0),sr(this,`opened`,!1),sr(this,`subTimer`,void 0),sr(this,`token`,0),this.ev=t;let n=document.createElement(`object`);n.type=`application/avplayer`,n.style.cssText=`position:absolute;left:0;top:0;width:100%;height:100%`,e.appendChild(n)}open(e,t,n){this.stop();let r=++this.token,i=()=>r===this.token;try{if(this.av.open(e),this.opened=!0,t)try{this.av.setStreamingProperty(`USER_AGENT`,t)}catch(e){}this.av.setListener({onbufferingstart:()=>this.ev.onBuffering(!0),onbufferingcomplete:()=>this.ev.onBuffering(!1),onstreamcompleted:()=>this.ev.onEnded(),oncurrentplaytime:e=>this.ev.onTime(e),onerror:e=>this.ev.onError(String(e)),onevent:()=>{},onsubtitlechange:(e,t)=>{clearTimeout(this.subTimer),this.ev.onSubtitle(t||``),this.subTimer=window.setTimeout(()=>this.ev.onSubtitle(``),Number(e)||3e3)}}),this.applyRect(),this.av.prepareAsync(()=>{if(i()){if(this.applyRect(),n)try{this.av.seekTo(n)}catch(e){}this.av.play(),this.ev.onPlaying()}},e=>{i()&&this.ev.onError(String(e))})}catch(e){this.ev.onError(String(e))}}stop(){if(this.token++,this.opened){this.opened=!1;try{this.av.stop()}catch(e){}try{this.av.close()}catch(e){}}}pause(){try{this.av.pause()}catch(e){}}resume(){try{this.av.play()}catch(e){}}seek(e){try{this.av.seekTo(Math.max(0,e))}catch(e){}}setRect(e){this.rect=e,this.applyRect()}setAspect(e){this.aspect=e,this.applyRect()}applyRect(){if(!this.opened)return;let e=1920/window.innerWidth,{x:t,y:n,w:r,h:i}=this.rect;this.aspect===`zoom`&&(t-=r/6,n-=i/6,r*=4/3,i*=4/3);try{this.av.setDisplayMethod(this.aspect===`fill`?`PLAYER_DISPLAY_MODE_FULL_SCREEN`:`PLAYER_DISPLAY_MODE_LETTER_BOX`),this.av.setDisplayRect(Math.round(t*e),Math.round(n*e),Math.round(r*e),Math.round(i*e))}catch(e){}}tracks(e){try{return this.av.getTotalTrackInfo().filter(t=>t.type===e).map((e,t)=>{let n=``;try{n=JSON.parse(e.extra_info).language||``}catch(e){}return{index:e.index,language:n,label:Ud(n,t)}})}catch(e){return[]}}audioTracks(){return this.tracks(`AUDIO`)}textTracks(){return this.tracks(`TEXT`)}selectAudio(e){try{this.av.setSelectTrack(`AUDIO`,e)}catch(e){}}selectText(e){try{e===null?this.av.setSilentSubtitle(!0):(this.av.setSilentSubtitle(!1),this.av.setSelectTrack(`TEXT`,e))}catch(e){}}videoHeight(){try{let e=this.av.getTotalTrackInfo().find(e=>e.type===`VIDEO`);return e?JSON.parse(e.extra_info).Height|0:0}catch(e){return 0}}duration(){try{return this.av.getDuration()||0}catch(e){return 0}}buffered(){return 0}setSpeed(e){try{e===Math.round(e)&&this.av.setSpeed(e)}catch(e){}}},Gd=class{constructor(e,t){sr(this,`video`,void 0),sr(this,`hls`,null),sr(this,`ts`,null),sr(this,`ev`,void 0),sr(this,`token`,0),this.ev=t;let n=document.createElement(`video`);n.style.cssText=`position:absolute;background:#000`,n.autoplay=!0,n.addEventListener(`waiting`,()=>t.onBuffering(!0)),n.addEventListener(`playing`,()=>{t.onBuffering(!1),t.onPlaying()}),n.addEventListener(`ended`,()=>t.onEnded()),n.addEventListener(`timeupdate`,()=>t.onTime(n.currentTime*1e3)),n.addEventListener(`error`,()=>t.onError(n.error?`media ${n.error.code}`:`media`)),e.appendChild(n),this.video=n,this.setRect({x:0,y:0,w:0,h:0})}open(e,t,n){this.stop(),++this.token;let r=this.video;!/\.m3u8(\?|$)/i.test(e)&&/\.ts(\?|$)/i.test(e),r.src=dr(e),r.addEventListener(`loadedmetadata`,()=>{n&&(r.currentTime=n/1e3)},{once:!0})}stop(){this.token++,this.hls&&(this.hls.destroy(),this.hls=null),this.ts&&(this.ts.destroy(),this.ts=null),this.video.removeAttribute(`src`),this.video.load()}pause(){this.video.pause()}resume(){this.video.play()}seek(e){this.video.currentTime=Math.max(0,e/1e3)}setRect(e){let t=this.video.style;t.left=`${e.x}px`,t.top=`${e.y}px`,t.width=`${e.w}px`,t.height=`${e.h}px`}setAspect(e){let t=this.video.style;t.objectFit=e===`fit`?`contain`:e===`fill`?`fill`:`cover`}audioTracks(){return this.hls?this.hls.audioTracks.map((e,t)=>({index:t,language:e.lang||``,label:e.name||Ud(e.lang,t)})):[]}textTracks(){return this.hls?this.hls.subtitleTracks.map((e,t)=>({index:t,language:e.lang||``,label:e.name||Ud(e.lang,t)})):[]}selectAudio(e){this.hls&&(this.hls.audioTrack=e)}selectText(e){this.hls&&(this.hls.subtitleTrack=e===null?-1:e)}videoHeight(){return this.video.videoHeight}duration(){let e=this.video.duration;return isFinite(e)?e*1e3:0}buffered(){let e=this.video.buffered;return e.length?e.end(e.length-1)*1e3:0}setSpeed(e){this.video.playbackRate=e}},X=I(`idle`),Kd=I(null),qd=I(``),Jd=I(`unknown`),Yd=I(0),Xd=I(q.value.aspect),Zd=I(null),Qd=I(0),$d=I(null),ef=I(null),tf=I(``),Z,nf=0,rf,af,of=!1,sf={tur:`tr`,eng:`en`,deu:`de`,ger:`de`,fra:`fr`,fre:`fr`,ara:`ar`,rus:`ru`},cf=e=>{let t=e.toLowerCase().slice(0,3);return sf[t]||t.slice(0,2)};function lf(e,t){q.peek().rememberTracks&&(e===`audio`?t&&t.language&&Dc({preferredAudio:cf(t.language)}):Dc({preferredSubtitle:t&&t.language?cf(t.language):null}))}function uf(){of=!0;let{preferredAudio:e,preferredSubtitle:t}=q.peek(),n=(e,t)=>t?e.find(e=>e.language&&cf(e.language)===t):void 0,r=n(Z.audioTracks(),e);r&&Z.selectAudio(r.index);let i=n(Z.textTracks(),t);i&&Z.selectText(i.index)}var df={},ff=[1500,3e3,6e3,12e3];function pf(e){let t=e.toUpperCase();return/AUTH|401|403|FORBIDDEN|UNAUTHORIZED/.test(t)?`auth`:/INVALID_URI|404|410|NOT_FOUND|MANIFESTLOADERROR/.test(t)?`not_found`:/NOT_SUPPORTED|UNSUPPORTED|FORMAT|MEDIA 4/.test(t)?`format`:/DECOD|MEDIA 3/.test(t)?`decoder`:/CONNECTION|NETWORK|TIMEOUT|MEDIA 2|FRAGLOAD|LEVELLOAD/.test(t)?`network`:`unknown`}function mf(e){let t={onBuffering:e=>{e&&X.value===`playing`?X.value=`loading`:!e&&X.value===`loading`&&(X.value=`playing`)},onPlaying:()=>{X.value===`loading`&&!of&&uf(),X.value=`playing`,nf=0,Yd.value=0,df.started&&df.started()},onEnded:()=>df.ended&&df.ended(),onTime:e=>{Qd.value=e},onSubtitle:e=>{tf.value=e},onError:e=>{console.warn(`oynatma hatası`,e);let t=Kd.value;if(!t||X.value===`error`)return;let n=pf(e);n!==`auth`&&n!==`not_found`&&n!==`format`&&nf<ff.length?(X.value=`loading`,Yd.value=nf+1,clearTimeout(rf),rf=window.setTimeout(()=>Z.open(t.url,t.userAgent,af),ff[nf++])):(Yd.value=0,Jd.value=n,qd.value=e,X.value=`error`,Z.stop(),df.failed&&df.failed())}};Z=Et?new Wd(e,t):new Gd(e,t),Zd.subscribe(e=>{e===null?Z.setRect({x:0,y:0,w:0,h:0}):e===`full`?Z.setRect({x:0,y:0,w:window.innerWidth,h:window.innerHeight}):Z.setRect(e)}),window.addEventListener(`resize`,()=>{Zd.peek()===`full`&&Z.setRect({x:0,y:0,w:window.innerWidth,h:window.innerHeight})}),Xd.subscribe(e=>{Z.setAspect(e),q.peek().aspect!==e&&Dc({aspect:e})}),document.addEventListener(`visibilitychange`,()=>{let e=Kd.value;if(!e)return;if(document.hidden){Z.stop();return}let t=e.key.startsWith(`live:`)?void 0:Qd.peek()||af;X.value=`loading`,Z.open(e.url,e.userAgent,t)})}function hf(e,t={}){df.ended=t.onEnded,df.failed=t.onFailed,df.started=t.onStarted,!(Kd.value&&Kd.value.key===e.key&&X.value!==`error`)&&(clearTimeout(rf),nf=0,Yd.value=0,of=!1,af=t.startMs,Kd.value=e,X.value=`loading`,qd.value=``,tf.value=``,$d.value=null,ef.value=null,Qd.value=t.startMs||0,Z.open(e.url,e.userAgent,t.startMs))}function gf(){let e=Kd.value;e&&(Kd.value=null,hf(e,{onEnded:df.ended,onFailed:df.failed,onStarted:df.started}))}function _f(){clearTimeout(rf),Kd.value=null,X.value=`idle`,Z.stop()}function vf(){X.value===`paused`?(Z.resume(),X.value=`playing`):(X.value===`playing`||X.value===`loading`)&&(Z.pause(),X.value=`paused`)}var yf=e=>Z.seek(e),bf=()=>Z.audioTracks(),xf=()=>Z.textTracks(),Sf=e=>Z.selectAudio(e);function Cf(e){e===null&&(tf.value=``),Z.selectText(e)}var wf=()=>Z.videoHeight(),Tf=()=>Z.duration(),Ef=()=>Z.buffered(),Df=e=>Z.setSpeed(e);function Of(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width,h:t.height}}var kf=700,Af=e=>{let t=Hd.countries[e];return t?t[an.value]:e};function jf({onOpenPlayer:e}){var t;let n=Nc.value,r=q.value,[i,a]=N([]),[o,s]=N(null),[c,l]=N(0),u=F(0);u.current=c;let d=F(null),[f,p]=N(null),[m,h]=N([]),[g,_]=N(null),[v,y]=N(null),[b,x]=N(null),S=Cl.value,[ee,C]=N(!1),[w,T]=N(!1),E=F(null),D=F(null),O=ed.value,k=(()=>{let e=Pc.value;return!!e&&e.providerId===n&&`stage`in e&&e.stage!==`DONE`})(),te=(t=(Mc.value||[]).find(e=>e.id===n))==null?void 0:t.lastSync;P(()=>{K.categories.where(`[providerId+kind]`).equals([n,`live`]).sortBy(`order`).then(a),ad(n),El(n),Kl(n).then(e=>h(e.sort((e,t)=>e.name.localeCompare(t.name))))},[n,te]);let A=ke(()=>{let e=[{key:`fav`,label:R(`cat_favorites`),filter:{type:`fav`}},{key:`recent`,label:R(`cat_recent`),filter:{type:`recent`}},{key:`all`,label:R(`cat_all`),filter:{type:`all`}}],t=m.map(e=>({key:`ug:${e.id}`,label:e.name,filter:{type:`ugroup`,id:e.id},group:e})),n=i.filter(Al);if(r.groupMode===`CATEGORY`){let i=e=>(wl.value.get(e.id)||{}).pinned||0,a=n.map((e,t)=>[e,t]).sort((e,t)=>i(t[0])-i(e[0])||e[1]-t[1]).map(e=>e[0]);return e.concat(t,a.map(e=>({key:`cat:${e.id}`,label:Us(e.name,r.filterWords),filter:{type:`cat`,id:e.id},platform:Zs(e.name),locked:Dl(e),pinned:!!(wl.value.get(e.id)||{}).pinned,cat:e})))}let a=an.value===`tr`?`TR`:`UK`,o=nc(n.map(e=>({id:e.id,name:e.name,locked:Dl(e)})),r.groupMode,a);return e.concat(t,o.map(e=>({key:e.key,label:e.platform?e.platform.name:e.country?Af(e.country):R(`genre_${e.genre.toLowerCase()}`),filter:{type:`group`,key:e.key,ids:e.categoryIds},platform:e.platform})))},[i,r.groupMode,an.value,m,S]),j=zl(O),ne=A.find(e=>zl(e.filter)===j);P(()=>{td.value=ne?ne.label:``},[ne&&ne.label]),P(()=>{let e=!0;return s(null),Vl(n,O).then(t=>{if(!e)return;let n=t,r=nd.peek(),i=r===null?-1:n.indexOf(r);s(n);let a=d.current===j;d.current=j;let o=i>=0?i:a?Math.max(0,Math.min(u.current,n.length-1)):0;l(o),i>=0&&(nd.value=null),(i>=0||a)&&setTimeout(()=>{i<0&&document.activeElement!==document.body||Rt(D.current&&D.current.querySelector(`[data-idx="${o}"]`))},0)}),()=>{e=!1}},[n,j,te,S]);let re=F({pick:e=>{},menu:e=>{}});re.current={pick:e=>oe(!!e.cat&&Ol(e.cat),()=>{e.cat&&kl(e.cat.id),ed.value=e.filter}),menu:e=>le(e)};let ie=ke(()=>o?new Ul(o):null,[o]);P(()=>{nd.peek()===null&&setTimeout(()=>L(E.current),0)},[]),P(()=>{let e=()=>{let e=document.activeElement;C(!!E.current&&E.current.contains(e)),T(!!D.current&&D.current.contains(e))};return document.addEventListener(`focusin`,e),()=>document.removeEventListener(`focusin`,e)},[]),P(()=>()=>{rd.peek()||_f(),Zd.value=null},[]);let ae=(e,t)=>r.numbering===`HIDDEN`?null:r.numbering===`CATEGORY`?t+1:e?e.number:null,oe=(e,t)=>e?_({then:t}):t(),se=async t=>{if(!o)return;let n=await K.channels.get(o[t]),r=n&&n.categoryId!==null&&i.find(e=>e.id===n.categoryId)||null;oe(!!n&&Ol(r,n.id),()=>{n&&kl(r?r.id:null,n.id),e(o,t)})},ce=async e=>{let t=ie&&(await ie.range(e,e+1))[0];if(!t||!o)return;let r=id.value.has(t.id),i=async()=>s(await Vl(n,O)),a=[{label:R(r?`menu_remove_favorite`:`menu_add_favorite`),onSelect:async()=>{await Wl(n,`live`,t.id),await ad(n),O.type===`fav`&&i()}}];if(O.type===`fav`||O.type===`ugroup`){let t=async t=>{if(!(t<0||t>=o.length)){if(O.type===`ugroup`)await Zl(O.id,o,e,t);else{let[n,r]=await K.favorites.bulkGet([o[e],o[t]]);if(!n||!r)return;await K.favorites.bulkPut([V(V({},n),{},{order:r.order}),V(V({},r),{},{order:n.order})])}await i(),l(t)}};a.push({label:R(`menu_move_up`),onSelect:()=>t(e-1)},{label:R(`menu_move_down`),onSelect:()=>t(e+1)})}a.push({label:R(`menu_add_to_group`),onSelect:()=>p({title:R(`menu_add_to_group`),items:m.map(e=>({label:e.name,onSelect:()=>{Jl(e.id,t.id).then(()=>B(e.name))}})).concat([{label:R(`menu_new_group`),onSelect:()=>x({initial:R(`group_default_name`,m.length+1),save:async e=>{await Jl(await ql(n,e.trim()||R(`group_default_name`,m.length+1)),t.id),h((await Kl(n)).sort((e,t)=>e.name.localeCompare(t.name)))}})}])})}),O.type===`ugroup`&&a.push({label:R(`menu_remove_from_group`),onSelect:async()=>{await Yl(O.id,t.id),i()}}),a.push({label:R(`menu_epg_mapping`),onSelect:()=>sd({name:`epgmap`,channelId:t.id})});let c=!!(Tl.value.get(t.id)||{}).locked;a.push({label:R(c?`menu_unlock`:`menu_lock`),onSelect:()=>{if(!Il())return y(R(`pin_needed_first`));c?_({then:()=>Pl(t.id,n,{locked:!1})}):Pl(t.id,n,{locked:!0})}}),a.push({label:R(`menu_hide`),onSelect:async()=>{await Pl(t.id,n,{hidden:!0}),i()}}),p({title:t.name,items:a})},le=e=>{if(e.group)return p({title:e.label,items:[{label:R(`menu_delete_group`),onSelect:async()=>{await Xl(e.group.id),h(m.filter(t=>t.id!==e.group.id)),zl(O)===e.key&&(ed.value={type:`all`})}}]});let t=e.cat;if(!t)return;let r=wl.value.get(t.id)||{},i=Dl(t);p({title:t.name,items:[{label:R(r.pinned?`menu_unpin`:`menu_pin_top`),onSelect:()=>Nl(t.id,n,{pinned:r.pinned?0:Date.now()})},{label:R(i?`menu_unlock`:`menu_lock`),onSelect:()=>{if(!Il())return y(R(`pin_needed_first`));i?_({then:()=>Nl(t.id,n,{locked:!1})}):Nl(t.id,n,{locked:!0})}},{label:R(`menu_hide`),onSelect:async()=>{await Nl(t.id,n,{hidden:!0}),zl(O)===e.key&&(ed.value={type:`all`})}}]})},ue=yn(async e=>{if(!o)return;let t=-1;if(r.numbering===`CATEGORY`)t=e-1<o.length?e-1:-1;else{let r=await K.channels.where(`[providerId+number]`).equals([n,e]).first();t=r?o.indexOf(r.id):-1}if(t<0)return B(R(`channel_not_found`));l(t),setTimeout(()=>Rt(D.current&&D.current.querySelector(`[data-idx="${t}"]`)),0)});Wt(e=>{if(e.startsWith(`digit`))return ue.push(e.slice(5)),!0});let de=R(`group_${r.groupMode.toLowerCase()}`);return M(`div`,{class:`live-screen`,children:[M(`div`,{class:`live-cats glass${ee?` wide`:``}`,ref:E,"data-focus-group":`live-cats`,children:[M(`button`,{class:`group-mode`,"data-focus":!0,onClick:()=>p({title:R(`group_by`,de),items:[`CATEGORY`,`COUNTRY`,`GENRE`,`PLATFORM`].map(e=>({label:R(`group_${e.toLowerCase()}`),checked:e===r.groupMode,onSelect:()=>{Dc({groupMode:e}),ed.value={type:`all`}}}))}),children:[M(`span`,{children:[M(`span`,{class:`gm-title`,children:R(`live_categories`)}),M(`span`,{class:`gm-value`,children:R(`group_by`,de)})]}),M(z,{name:`tune`})]}),M(Mf,{entries:A,selectedKey:j,actions:re})]}),M(`div`,{class:`live-channels glass`,children:[M(`div`,{class:`panel-title`,children:[M(`h2`,{children:ne?ne.label:``}),o&&o.length>0&&M(`span`,{class:`muted`,children:R(`live_channel_count`,o.length)})]}),o&&o.length===0?M(`p`,{class:`empty`,children:R(k?`live_syncing`:`live_empty_category`)}):M(md,{listRef:D,group:`live-channels`,pager:ie,count:o?o.length:0,index:c,setIndex:l,numberOf:ae,focused:w,onOpen:se,onMenu:ce})]}),M(Ff,{pager:ie,index:c,active:w,locked:e=>Ol(i.find(t=>t.id===e.categoryId)||null,e.id)}),M(bn,{digits:ue.digits}),f&&M(vn,{title:f.title,items:f.items,onClose:()=>p(null)}),g&&M(xn,{title:R(`pin_enter`),check:Ll,onDone:()=>{let e=g.then;_(null),e()},onClose:()=>_(null)}),v&&M(Cn,{text:v,onClose:()=>y(null)}),b&&M(Sn,{title:R(`menu_new_group`),label:R(`group_name`),initial:b.initial,onSave:b.save,onClose:()=>x(null)})]})}var Mf=class extends S{constructor(...e){super(...e),sr(this,`rev`,-1)}shouldComponentUpdate(e){return e.entries!==this.props.entries||e.selectedKey!==this.props.selectedKey||Cl.peek()!==this.rev}render(){let{entries:e,selectedKey:t,actions:n}=this.props;return this.rev=Cl.peek(),M(`div`,{class:`cat-list`,children:e.map(e=>M(Nf,{e,selected:zl(e.filter)===t,onClick:()=>n.current.pick(e),onLongPress:()=>n.current.menu(e)},e.key))})}};function Nf({e,selected:t,onClick:n,onLongPress:r}){return M(`button`,{onlongpress:r,class:`cat-row focus-row${t?` selected`:``}`,"data-focus":!0,"data-focus-default":t||void 0,onClick:n,children:[e.platform&&M(Pf,{p:e.platform}),M(`span`,{class:`cat-name`,children:e.label}),e.pinned&&M(z,{name:`pin`,class:`cat-icon`}),e.locked&&M(z,{name:`lock`,class:`cat-icon`})]})}function Pf({p:e}){let t=Qs(e);return M(`span`,{class:`platform-badge`,children:t?M(`img`,{src:t,alt:``,class:e.tintWhite===!1?``:`tint-white`}):M(`b`,{children:e.name})})}function Ff({pager:e,index:t,active:n,locked:r}){let[i,a]=N(),[o,s]=N(null),c=F(null);P(()=>{let e=()=>{let e=Zd.peek();e&&e!==`full`&&c.current&&(Zd.value=Of(c.current))};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),P(()=>{if(s(null),!i)return;let e=!0,t=setTimeout(()=>ll(i).then(t=>e&&s(t)),250);return()=>{e=!1,clearTimeout(t)}},[i&&i.id]);let l=q.value.previewAutoplay;return P(()=>{if(!e)return;let n=!0;return e.range(t,t+1).then(e=>n&&a(e[0])),()=>{n=!1}},[e,t]),P(()=>{if(!i)return;let e=Kd.peek();if(e&&e.key===`live:${i.id}`&&(Zd.value=Of(c.current)),!n||!l||r(i))return;let t=setTimeout(()=>{let e=(Mc.value||[]).find(e=>e.id===i.providerId);Zd.value=Of(c.current),hf({url:i.url,userAgent:e?e.userAgent:null,key:`live:${i.id}`})},kf);return()=>clearTimeout(t)},[i&&i.id,n]),M(`div`,{class:`live-preview glass`,children:[M(`span`,{class:`preview-label`,children:R(`live_preview`)}),M(`div`,{class:`preview-box${Zd.value&&Zd.value!==`full`?` hole`:``}`,ref:c,children:i&&r(i)?M(z,{name:`lock`,class:`preview-lock`}):!l&&i&&M(Xu,{src:i.logo,size:64})}),i&&M(`h3`,{class:`preview-name`,children:i.name}),o&&(o.now||o.next)?M(x,{children:[o.now&&M(If,{label:R(`now_label`),p:o.now,progress:!0}),o.next&&M(If,{label:R(`next_label`),p:o.next})]}):M(`p`,{class:`muted`,children:R(`no_program`)})]})}function If({label:e,p:t,progress:n}){return M(`div`,{class:`program-block`,children:[M(`span`,{class:`pb-label`,children:`${e} · ${vl(t)}`}),M(`span`,{class:`pb-title`,children:t.title}),n&&M(Zu,{value:hl(t),class:`pb-progress`}),t.desc&&M(`span`,{class:`pb-desc`,children:t.desc})]})}var Lf=e=>e<10?`0${e}`:`${e}`;function Rf(e,t){if(!t){let t=new Date(e);return{Y:`${t.getFullYear()}`,m:Lf(t.getMonth()+1),d:Lf(t.getDate()),H:Lf(t.getHours()),M:Lf(t.getMinutes()),S:Lf(t.getSeconds())}}let n;try{n=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}).format(new Date(e))}catch(t){return Rf(e)}let r=/(\d+)\/(\d+)\/(\d+),?\s+(\d+):(\d+):(\d+)/.exec(n);return{Y:r[3],m:r[1],d:r[2],H:Lf(r[4]%24),M:r[5],S:r[6]}}var zf=(e,t,n)=>{let r=Rf(e,n);return t.replace(/[YmdHMS]/g,e=>r[e])};function Bf(e,t,n,r,i){let a=e=>Math.floor(e/1e3),o={utc:t,start:t,utcend:n,end:n,lutc:r,now:r,timestamp:r};return e.replace(/\{([YmdHMS])\}/g,(e,n)=>Rf(t,i)[n]).replace(/\$?\{(\w+)(?::([^}]+))?\}/g,(e,s,c)=>{if(s===`duration`||s===`offset`){let e=a(s===`duration`?n-t:r-t);return`${c&&/^\d+$/.test(c)?Math.floor(e/+c):e}`}let l=o[s];return l===void 0?e:c?zf(l,c,i):`${a(l)}`})}var Vf=(e,t)=>e+(e.indexOf(`?`)>=0?`&`:`?`)+t.replace(/^[?&]/,``);function Hf(e,t,n,r,i={}){let a=Math.floor(t/1e3),o=Math.max(60,Math.floor((n-t)/1e3));switch(e.catchupType){case`XTREAM`:{let n=/^(https?:\/\/[^/]+)((?:\/.*?)?)\/([^/]+)\/([^/]+)\/([^/?]+?)(?:\.\w+)?(?:\?.*)?$/.exec(e.url);if(!n)return null;let r=n[1]+n[2].replace(/\/live$/,``),a=Rf(t,i.serverZone||i.deviceZone);return`${r}/timeshift/${n[3]}/${n[4]}/${Math.ceil(o/60)}/${a.Y}-${a.m}-${a.d}:${a.H}-${a.M}/${n[5]}.ts`}case`SHIFT`:return Vf(e.url,`utc=${a}&lutc=${Math.floor(r/1e3)}`);case`APPEND`:case`DEFAULT`:{if(!e.catchupSource)return null;let a=Bf(e.catchupSource,t,n,r,i.deviceZone);return e.catchupType===`APPEND`?e.url+a:/^https?:\/\//i.test(a)?a:Vf(e.url,a)}case`FLUSSONIC`:{let t=e.url.indexOf(`?`),n=t>=0?e.url.slice(0,t):e.url,r=t>=0?e.url.slice(t):``,i=/^(.*\/)([^/]+)\.m3u8$/.exec(n);if(i)return`${i[1]}${i[2]}-${a}-${o}.m3u8${r}`;let s=/^(.*\/)(?:mpegts|[^/]+\.ts)$/.exec(n);return s?`${s[1]}timeshift_abs-${a}.ts${r}`:`${n.replace(/\/$/,``)}/timeshift_abs-${a}.ts${r}`}default:return null}}var Uf=(e,t,n)=>e.catchupType!==`NONE`&&t<n&&t>=n-Math.max(1,e.catchupDays)*864e5,Wf=/(?:(\d+):)?(\d{1,2}):(\d{1,2})[,.](\d{1,3})/;function Gf(e){let t=Wf.exec(e);if(!t)return NaN;let n=(t[4]+`00`).slice(0,3);return(((t[1]||0)*60+ +t[2])*60+ +t[3])*1e3+ +n}function Kf(e){return e.replace(/\{\\[^}]*\}/g,``).replace(/<(\/?)([ibu])(\s[^>]*)?>/gi,`$1$2`).replace(/<[^>]+>/g,``).replace(/\u0001/g,`<`).replace(/\u0002/g,`>`).trim()}function qf(e){let t=[],n=e.replace(/^/,``).replace(/\r\n?/g,`
|
|
9
|
-
`).split(/\n\s*\n/);for(let e of n){let n=e.split(`
|
|
10
|
-
`),r=n.findIndex(e=>e.indexOf(`-->`)>=0);if(r<0)continue;let[i,a]=n[r].split(`-->`),o=Gf(i),s=Gf(a),c=Kf(n.slice(r+1).join(`
|
|
11
|
-
`));isNaN(o)||isNaN(s)||!c||t.push({start:o,end:s,text:c})}return t.sort((e,t)=>e.start-t.start)}function Jf(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>1;e[i].start<=t?n=i+1:r=i}let i=[];for(let r=n-1;r>=0&&r>=n-5;r--)e[r].end>t&&i.unshift(e[r]);return i}function Yf(e){try{return new TextDecoder(`utf-8`,{fatal:!0}).decode(e)}catch(t){return new TextDecoder(`windows-1254`).decode(e)}}var Xf=I(null),Zf=I(0);function Qf(){Xf.value=null,Zf.value=0}var $f=[`#fff`,`#ffeb3b`,`#00e5ff`];function ep({text:e}){let t=e.split(/(<\/?[ibu]>)/i),n=[],r=!1,i=!1,a=!1;return t.forEach((e,t)=>{let o=/^<(\/?)([ibu])>$/i.exec(e);if(o){let e=!o[1],t=o[2].toLowerCase();t===`i`?r=e:t===`b`?i=e:a=e}else e&&n.push(M(`span`,{style:{fontStyle:r?`italic`:void 0,fontWeight:i?700:void 0,textDecoration:a?`underline`:void 0},children:e},t))}),M(x,{children:n})}function tp(){let e=yt(()=>{let e=Xf.value;return e?Jf(e.cues,Qd.value-Zf.value).map(e=>e.text).join(`
|
|
12
|
-
`):tf.value}).value;if(!e)return null;let t=q.value;return M(`div`,{class:`subtitle-layer${t.subtitleBackground?` boxed`:``}`,style:{fontSize:`${(4*t.subtitleScale).toFixed(2)}rem`,color:$f[t.subtitleColor]},children:e.split(`
|
|
13
|
-
`).map((e,t)=>M(`span`,{class:`subtitle-line`,children:M(ep,{text:e})},t))})}var np=72e5,rp=18e5,ip=36e5,ap=864e5,op=e=>Math.floor(e/rp)*rp,sp=150;function cp(e){let{pager:t,count:n,rowRem:r,winStart:i}=e,a=i+np,o=F(null),[s,c]=N(Math.max(0,e.initialRow-3)),[l,u]=N({row:e.initialRow,pid:-1}),[d,f]=N(new Map),[p,m]=N(new Map),[h,g]=N(Date.now()),_=o.current?Math.max(1,Math.floor(o.current.clientHeight/gd()/r)):6,v=F(new Map);P(()=>{let e=setInterval(()=>g(Date.now()),3e4);return()=>clearInterval(e)},[]),P(()=>{l.row<s?c(l.row):l.row>s+_-1&&c(Math.min(Math.max(0,n-_),l.row-_+1))},[l.row,_,n]);let y=s,b=Math.min(n,s+_+1);P(()=>{let e=!0;return t.range(y,b).then(async t=>{let n=new Map;if(t.forEach((e,t)=>e&&n.set(y+t,e)),!e)return;f(n);let r=i-ap/2,a=i+np+ap,o=[...n.values()].filter(e=>{let t=v.current.get(e.id);return!t||t.from>i-ip||t.to<i+72e5+ip});for(await Promise.all(o.map(async e=>{v.current.set(e.id,{from:r,to:a,list:await sl(e,r,a)})}));v.current.size>sp;)v.current.delete(v.current.keys().next().value);if(!e)return;let s=new Map;v.current.forEach((e,t)=>s.set(t,e.list)),m(s)}),()=>{e=!1}},[t,y,b,Math.floor(i/ap*2)]);let x=e=>{let t=d.get(e);return t&&p.get(t.id)||null};P(()=>{if(l.pid!==-1)return;let e=x(l.row);if(e===null)return;let t=l.at===void 0?Date.now():l.at,n=e.find(e=>e.start<=t&&e.stop>t)||e.find(e=>e.stop>i&&e.start<a);u({row:l.row,pid:n?n.id:null})},[p,d]),P(()=>{if(!o.current)return;if(l.pid===-1){let e=o.current.querySelector(`[data-cell="${l.row}:ch"], [data-cell="${l.row}:wait"]`);e&&document.activeElement!==e&&e.focus();return}let e=o.current.querySelector(`[data-cell="${l.row}:${l.pid===null?`ch`:l.pid}"]`)||o.current.querySelector(`[data-cell="${l.row}:wait"]`);e&&document.activeElement!==e&&e.focus()},[l,d,p,i,s]),P(()=>{let e=()=>{let e=document.activeElement,t=e&&o.current&&o.current.contains(e)?e.getAttribute(`data-cell`):null;if(!t)return;let[n,r]=t.split(`:`);if(r===`wait`)return;let i={row:+n,pid:r===`ch`||r===`null`?null:+r};u(e=>e.row===i.row&&(e.pid===i.pid||e.pid===-1)?e:i)};return document.addEventListener(`focusin`,e),()=>document.removeEventListener(`focusin`,e)},[]);let S=(e,t)=>{let n=(x(e)||[]).filter(e=>e.stop>i&&e.start<a),r=n.find(e=>e.start<=t&&e.stop>t)||n[0];return r?r.id:null};Wt(t=>{if(!o.current||!o.current.contains(document.activeElement))return;let r=x(l.row)||[],s=l.pid===null?-1:r.findIndex(e=>e.id===l.pid),c=s>=0?r[s]:null,d=c?Math.max(c.start,i):l.at===void 0?i:l.at;switch(t){case`right`:{if(!c)return u({row:l.row,pid:S(l.row,i)}),!0;let t=r[s+1];return c.stop>a?e.setWinStart(i+ip):t?(t.start>=a&&e.setWinStart(op(t.start-rp)),u({row:l.row,pid:t.id})):e.setWinStart(i+ip),!0}case`left`:{if(!c)return!0;let t=r[s-1];return c.start<i?e.setWinStart(i-ip):t&&t.stop>i-ap?(t.stop<=i&&e.setWinStart(op(Math.max(t.start,t.stop-np+rp))),u({row:l.row,pid:t.id})):u({row:l.row,pid:null}),!0}case`up`:case`down`:case`chUp`:case`chDown`:{let e=t===`up`?-1:t===`down`?1:t===`chUp`?-8:8;if(t===`up`&&l.row===0)return;let r=Math.max(0,Math.min(n-1,l.row+e));return r!==l.row&&(l.pid===null?u({row:r,pid:null}):x(r)===null?u({row:r,pid:-1,at:d}):u({row:r,pid:S(r,d)})),!0}}});let ee=h>=i&&h<a?(h-i)/np*100:null,C=[];for(let t=y;t<b;t++){let n=d.get(t);if(!n){C.push(M(`div`,{class:`epg-row`,style:{top:`${(t-s)*r}rem`,height:`${r-.4}rem`},children:M(`button`,{class:`epg-channel`,"data-focus":!0,"data-cell":`${t}:wait`})},t));continue}let o=x(t),c=o?o.filter(e=>e.stop>i&&e.start<a):[],u=e.numberOf(n,t);C.push(M(`div`,{class:`epg-row`,style:{top:`${(t-s)*r}rem`,height:`${r-.4}rem`},children:[M(`button`,{class:`epg-channel`,"data-focus":!0,"data-cell":`${t}:ch`,"data-focus-default":l.row===t&&l.pid===null||void 0,onClick:()=>e.onChannel(n,t),children:[u!==null&&M(`span`,{class:`epg-num`,children:u}),M(Xu,{src:n.logo,size:26}),M(`span`,{class:`epg-chname`,children:n.name})]}),M(`div`,{class:`epg-programs`,children:[o&&!c.length&&M(`button`,{class:`epg-cell`,"data-focus":!0,"data-cell":`${t}:null`,style:{left:0,width:`100%`},onClick:()=>e.onChannel(n,t),children:M(`span`,{class:`epg-title`,children:R(`guide_no_data`)})}),c.map(r=>{let o=Math.max(r.start,i),s=Math.min(r.stop,a);return M(`button`,{class:`epg-cell${r.start<=h&&r.stop>h?` live`:``}`,"data-focus":!0,"data-cell":`${t}:${r.id}`,"data-focus-default":l.row===t&&l.pid===r.id||void 0,style:{left:`${(o-i)/np*100}%`,width:`${(s-o)/np*100}%`},onClick:()=>e.onProgram(r,n,t),children:[M(`span`,{class:`epg-title`,children:r.title}),M(`span`,{class:`epg-time`,children:_l(r.start)})]},r.id)})]})]},t))}return M(`div`,{class:`epg-grid${e.translucent?` translucent`:``}`,children:[M(`div`,{class:`epg-header`,children:[0,1,2,3].map(e=>M(`span`,{style:{left:`${e*25}%`},children:_l(i+e*rp)},e))}),M(`div`,{class:`epg-body`,ref:o,"data-focus-group":`epg`,"data-focus-noscroll":!0,onScroll:e=>{e.currentTarget.scrollTop=0},children:[C,ee!==null&&M(`div`,{class:`epg-now`,style:{left:`calc(var(--epg-ch) + (100% - var(--epg-ch)) * ${ee/100})`}})]})]})}var lp=5e3,up=700,dp=[`fit`,`fill`,`zoom`],fp=[0,15,30,45,60,90,120],pp=[.5,.75,1,1.25,1.5,2],mp=[];for(let e=-10;e<=10;e+=.5)mp.push(e);var hp=e=>R(`tz_sub_offset_value`,`${e>0?`+`:``}${(e/1e3).toFixed(1)}`),gp=e=>`${e}x`,_p=3e4,vp=e=>e<10?`0${e}`:`${e}`,yp=e=>`${vp(e.getHours())}:${vp(e.getMinutes())}`,bp=e=>e>=2e3?`4K`:e>=1e3?`FHD`:e>=700?`HD`:e>0?`SD`:``;function xp({onExit:e}){let t=rd.value,n=t.ids,r=ke(()=>new Ul(n),[n]),[i,a]=N(t.index),[o,s]=N(null),[c,l]=N(!0),[u,d]=N(null),[f,p]=N(0),[m,h]=N(t.archive?{program:t.archive,offset:0}:null),[g,_]=N(null),[v,y]=N(null),[b,x]=N(0),S=F(void 0),ee=F(!0),C=F(void 0),w=F(0),[,T]=N(0),E=F(null),D=F(0),O=F(void 0),k=q.value,te=o?o.providerId:null,A=()=>{l(!0),clearTimeout(O.current),O.current=window.setTimeout(()=>l(!1),lp)},j=e=>{let t=n.length;t&&(o&&(E.current=o.id),clearTimeout(C.current),_(null),h(null),a((e%t+t)%t))};P(()=>{let e=!0;return(async()=>{let t=await K.channels.get(n[i]);if(!e||!t)return;if(q.peek().pinHash){await El(t.providerId);let n=t.categoryId===null?null:await K.categories.get(t.categoryId)||null;if(!e)return;if(Ol(n,t.id)){s(t),_f(),y({channel:t,categoryId:t.categoryId});return}}s(t),A(),Zd.value=`full`;let r=(Mc.value||[]).find(e=>e.id===t.providerId);if(clearTimeout(S.current),!ee.current&&!m&&(await new Promise(e=>{S.current=window.setTimeout(e,350)}),!e))return;if(ee.current=!1,m){let e=m.program,n=Date.now(),i=Uf(t,e.start,n)?Hf(t,e.start+m.offset,e.stop,n,{serverZone:r?r.serverTimezone:null}):null;if(!i){B(R(`archive_unavailable`)),h(null);return}hf({url:i,userAgent:r?r.userAgent:null,key:`arc:${t.id}:${e.id}:${m.offset}`},{onEnded:()=>ne(t,e)});return}let o=!1;hf({url:t.url,userAgent:r?r.userAgent:null,key:`live:${t.id}`},{onStarted:()=>{o||(o=!0,Gl(t.providerId,`live`,t.id),Dc({lastChannelId:t.id}))},onFailed:()=>{let e=E.current;if(!q.peek().fallbackToPrevious||e===null||Date.now()-D.current<_p)return;let t=n.indexOf(e);t<0||(D.current=Date.now(),E.current=null,a(t),B(R(`player_fallback`)))}})})(),()=>{e=!1,clearTimeout(S.current)}},[i,m,b]);let ne=async(e,t)=>{let n=(await sl(e,t.stop-6e4,t.stop+216e5)).filter(e=>e.id!==t.id&&e.start>=t.stop-6e4).sort((e,t)=>e.start-t.start)[0];h(n&&n.stop<Date.now()?{program:n,offset:0}:null)},re=()=>{clearTimeout(C.current),_(null),h(null)};P(()=>()=>clearTimeout(C.current),[]);let ie=()=>m?m.offset+Qd.peek():0,ae=e=>{if(!m)return;let t=Math.min(m.program.stop,Date.now()-6e4)-m.program.start,n=Math.max(0,Math.min(t,(g===null?ie():g)+e));_(n),A(),clearTimeout(C.current),C.current=window.setTimeout(()=>{_(null);let e=o&&o.catchupType===`XTREAM`;h({program:m.program,offset:e?Math.floor(n/6e4)*6e4:n})},up)};P(()=>{te!==null&&ad(te)},[te]),P(()=>{let e=setInterval(()=>T(e=>e+1),5e3);return()=>{clearInterval(e),clearTimeout(O.current),o&&(nd.value=o.id)}},[o]),P(()=>{if(!f)return;let e=setTimeout(()=>{X.peek()!==`paused`&&vf(),p(0),B(R(`sleep_triggered`))},f*6e4);return()=>clearTimeout(e)},[f]);let oe=()=>{o&&(nd.value=o.id),rd.value=null,Zd.value=null,e()},se=async()=>{if(!o)return;let e=await Wl(o.providerId,`live`,o.id);await ad(o.providerId),B(R(e?`player_favorite_added`:`player_favorite_removed`))},ce=()=>{let e=dp[(dp.indexOf(Xd.value)+1)%dp.length];Xd.value=e,B(R(`aspect_${e}`))},le=e=>{e===`FAVORITE`?se():e===`AUDIO`?d({page:`audio`,direct:!0}):e===`SUBTITLES`?d({page:`subs`,direct:!0}):e===`ASPECT`?ce():e===`CHANNELS`?d(`list`):e===`INFO`?A():e===`GUIDE`&&d(`guide`)},ue=yn(async e=>{let t=-1;if(k.numbering===`CATEGORY`)t=e-1<n.length?e-1:-1;else if(te!==null){let r=await K.channels.where(`[providerId+number]`).equals([te,e]).first();t=r?n.indexOf(r.id):-1}t<0?B(R(`channel_not_found`)):j(t)});P(()=>{let e=()=>{u||d({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[u]),Wt((e,t)=>{if(e.startsWith(`digit`))return ue.push(e.slice(5)),!0;if(m&&!u&&e===`stop`)return re(),!0;if(m&&!u&&X.peek()!==`error`){if(e===`left`||e===`right`)return w.current=t&&t.repeat?w.current+1:0,ae((e===`left`?-1:1)*(w.current>4?12e4:3e4)),!0;if(e===`rew`||e===`ff`)return ae((e===`rew`?-1:1)*12e4),!0;if(e===`ok`||e===`playPause`||e===`play`||e===`pause`)return vf(),A(),!0}if(e===`back`)return u?d(null):c?(clearTimeout(O.current),l(!1)):oe(),!0;if(!u&&(X.peek()!==`error`||e!==`ok`&&e!==`left`&&e!==`right`))switch(e){case`ok`:return d(`controls`),l(!0),clearTimeout(O.current),!0;case`up`:case`chUp`:return j(i+1),!0;case`down`:case`chDown`:return j(i-1),!0;case`left`:case`channelList`:return d(`list`),!0;case`right`:case`guide`:return d(`guide`),!0;case`last`:return E.current!==null&&n.indexOf(E.current)>=0&&j(n.indexOf(E.current)),!0;case`info`:return c?l(!1):A(),!0;case`menu`:return d({page:`main`,direct:!1}),!0;case`playPause`:case`play`:case`pause`:return vf(),A(),!0;case`red`:return le(k.colorKeys[0]),!0;case`green`:return le(k.colorKeys[1]),!0;case`yellow`:return le(k.colorKeys[2]),!0;case`blue`:return le(k.colorKeys[3]),!0}});let de=!!o&&id.value.has(o.id),fe=X.value,pe=c&&!u||u===`controls`,me=!!m&&!u&&(c||g!==null||fe===`paused`);return M(`div`,{class:`player`,children:[M(tp,{}),fe===`loading`&&M(`div`,{class:`player-center`,children:[M(`div`,{class:`spinner`}),Yd.value>0&&M(`span`,{class:`retry-label`,children:R(`player_retrying`,Yd.value)})]}),fe===`paused`&&M(`div`,{class:`player-center`,children:M(z,{name:`pause`,class:`paused-icon`})}),fe===`error`&&M(kp,{onRetry:gf,onBack:oe}),o&&m&&me&&M(Cp,{channel:o,program:m.program,target:g,offset:m.offset,paused:fe===`paused`}),o&&!m&&pe&&M(wp,{channel:o,number:k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?i+1:o.number,favorite:de,hint:u!==`controls`,children:u===`controls`&&M(Tp,{favorite:de,subsOn:!1,onClose:()=>{d(null),A()},actions:{channels:()=>d(`list`),guide:()=>d(`guide`),audio:()=>d({page:`audio`,direct:!0}),subs:()=>d({page:`subs`,direct:!0}),picture:ce,favorite:se,more:()=>d({page:`main`,direct:!1}),back:oe}})}),u===`list`&&M(Ep,{pager:r,count:n.length,current:i,title:td.value,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e?e.number:null,onPick:e=>{d(null),e!==i&&j(e)}}),u===`guide`&&M(Dp,{pager:r,count:n.length,current:i,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e.number,onPlay:e=>{d(null),e===i?re():j(e)},onArchive:(e,t)=>{d(null),t!==i&&j(t),h({program:e,offset:0})}}),u&&typeof u==`object`&&M(Op,{page:u.page,direct:u.direct,favorite:de,sleepMin:f,setPage:e=>d({page:e,direct:!1}),close:()=>d(null),onFavorite:se,onSleep:e=>{p(e),e&&B(R(`sleep_set`,e))},onGuide:()=>d(`guide`),onGoLive:m?()=>{d(null),re()}:void 0}),M(bn,{digits:ue.digits}),v&&M(xn,{title:R(`pin_enter`),check:Ll,onDone:()=>{kl(v.categoryId,v.channel.id),y(null),x(e=>e+1)},onClose:()=>{y(null);let e=E.current;e!==null&&n.indexOf(e)>=0?j(n.indexOf(e)):oe()}})]})}function Sp({text:e,live:t,archive:n}){return M(`span`,{class:`badge-sm${t?` live`:``}${n?` archive`:``}`,children:e})}function Cp(e){let{program:t}=e,n=e.target===null?e.offset+Qd.value:e.target,r=Math.max(1,t.stop-t.start);return M(`div`,{class:`info-band archive-band`,children:M(`div`,{class:`band-row`,children:[M(`div`,{class:`band-left`,children:M(Xu,{src:e.channel.logo,size:64})}),M(`div`,{class:`band-mid`,children:[M(`div`,{class:`band-title`,children:[M(`span`,{class:`band-name`,children:e.channel.name}),M(Sp,{text:R(`player_archive`),archive:!0})]}),M(`p`,{class:`band-program`,children:t.title}),M(`div`,{class:`vod-bar-row`,children:[M(z,{name:e.paused?`play`:`pause`,class:`vod-state`}),M(`span`,{class:`vod-time`,children:_l(t.start+n)}),M(`div`,{class:`vod-bar`,children:M(`span`,{class:`vod-played`,style:{width:`${Math.min(100,n/r*100)}%`}})}),M(`span`,{class:`vod-time`,children:_l(t.stop)})]}),M(`p`,{class:`band-hint`,children:R(`tz_archive_hint`)})]}),M(`span`,{class:`band-clock`,children:yp(new Date)})]})})}function wp(e){let t=e.channel,[n,r]=N(null),i=yl.value;P(()=>{let e=!0;return ll(t).then(t=>e&&r(t)),()=>{e=!1}},[t.id,i]);let a=n&&n.now,o=n&&n.next,s=bf().length,c=xf().length,l=bp(wf());return M(`div`,{class:`info-band`,children:[M(`div`,{class:`band-row`,children:[M(`div`,{class:`band-left`,children:[e.number!==null&&M(`span`,{class:`band-number`,children:e.number}),M(Xu,{src:t.logo,size:64})]}),M(`div`,{class:`band-mid`,children:[M(`div`,{class:`band-title`,children:[M(`span`,{class:`band-name`,children:t.name}),e.favorite&&M(z,{name:`star`,class:`fav-star big`}),M(Sp,{text:R(`player_live`),live:!0}),l&&M(Sp,{text:l}),s>1&&M(Sp,{text:`♪ ${s}`}),c>0&&M(Sp,{text:`CC`})]}),a?M(x,{children:[M(`p`,{class:`band-program`,children:[M(`span`,{class:`band-time`,children:vl(a)}),a.title]}),M(`div`,{class:`band-progress`,children:[M(Zu,{value:hl(a)}),M(`span`,{children:R(`minutes_left`,Math.max(0,Math.round((a.stop-Date.now())/6e4)))})]})]}):M(`p`,{class:`band-program`,children:R(`no_program`)}),o&&M(`p`,{class:`band-next`,children:`${R(`next_label`)}: ${_l(o.start)} ${o.title}`}),e.hint&&M(`p`,{class:`band-hint`,children:R(`player_hint_live`)})]}),M(`span`,{class:`band-clock`,children:yp(new Date)})]}),e.children]})}function Tp(e){let t=F(null);P(()=>{L(t.current)},[]),Wt(t=>{if(t===`back`)return e.onClose(),!0});let n=e.actions;return M(`div`,{class:`control-bar`,ref:t,"data-focus-scope":!0,children:[[`list`,R(`pc_channels`),n.channels],[`guide`,R(`player_guide`),n.guide],[`audio`,R(`player_audio`),n.audio],[`subtitles`,R(`player_subtitles`),n.subs,e.subsOn],[`aspect`,R(`pc_picture`),n.picture],[e.favorite?`star`:`starOutline`,R(`pc_favorite`),n.favorite,e.favorite],[`more`,R(`pc_more`),n.more],[`back`,R(`back`),n.back]].map(([e,t,n,r],i)=>M(`div`,{class:`cb-item`,children:[M(`button`,{class:`cb-btn${r?` active`:``}`,"data-focus":!0,"data-focus-default":i===0||void 0,onClick:n,children:M(z,{name:e})}),M(`span`,{class:`cb-label`,children:t})]},t))})}function Ep(e){let[t,n]=N(e.current),r=F(null);return P(()=>{setTimeout(()=>{let t=r.current&&r.current.querySelector(`[data-idx="${e.current}"]`);t&&t.focus()},0)},[]),M(`div`,{class:`list-overlay`,"data-focus-scope":!0,children:[M(`h2`,{children:e.title}),M(md,{listRef:r,group:`player-list`,compact:!0,current:e.current,pager:e.pager,count:e.count,index:t,setIndex:n,numberOf:e.numberOf,focused:!0,onOpen:e.onPick,onMenu:()=>{}})]})}function Dp(e){let[t,n]=N(op(Date.now()));return M(`div`,{class:`guide-overlay`,"data-focus-scope":!0,children:M(cp,{pager:e.pager,count:e.count,initialRow:e.current,rowRem:5.2,translucent:!0,winStart:t,setWinStart:n,numberOf:e.numberOf,onChannel:(t,n)=>e.onPlay(n),onProgram:async(t,n,r)=>{let i=Date.now();t.start>i?B(R(await Ku(t,n)?`guide_reminder_set`:`guide_reminder_removed`)):t.stop<=i&&Uf(n,t.start,i)?e.onArchive(t,r):e.onPlay(r)}})})}function Op(e){let t=F(null),n=$d.value,r=ef.value,i=e=>{$d.value=e},a=e=>{ef.value=e};P(()=>{L(t.current)},[e.page]),Wt(t=>{if(t===`back`)return e.page!==`main`&&!e.direct?e.setPage(`main`):e.close(),!0});let o=()=>e.direct?e.close():e.setPage(`main`),s=bf(),c=xf(),l=(e,t,n)=>{let r=e.find(e=>e.index===t);return r?r.label:n},u=R(`player_options`),d=[];if(e.page===`main`){d=[{label:R(`player_audio`),value:s.length?l(s,n,R(`player_auto`)):R(`player_no_tracks`),onSelect:()=>e.setPage(`audio`)},{label:R(`player_subtitles`),value:Xf.value?Xf.value.label:l(c,r,R(`player_off`)),onSelect:()=>e.setPage(`subs`)},{label:R(`player_aspect`),value:R(`aspect_${Xd.value}`),onSelect:()=>e.setPage(`aspect`)}];let t=e.vod;if(t&&d.push({label:R(`player_speed`),value:gp(t.speed),onSelect:()=>e.setPage(`speed`)}),d.push({label:R(`player_sleep`),value:e.sleepMin?R(`sleep_set`,e.sleepMin):R(`sleep_off`),onSelect:()=>e.setPage(`sleep`)}),t&&t.prev&&d.push({label:R(`vod_prev_ep`),value:t.prev.title,onSelect:()=>{e.close(),t.prev.go()}}),t&&t.next&&d.push({label:R(`vod_next_ep`),value:t.next.title,onSelect:()=>{e.close(),t.next.go()}}),e.onGuide){let t=e.onGuide;d.push({label:R(`player_guide`),onSelect:t}),d.push({label:R(e.favorite?`menu_remove_favorite`:`menu_add_favorite`),onSelect:()=>{e.onFavorite(),e.close()}})}e.onGoLive&&d.unshift({label:R(`player_go_live`),onSelect:e.onGoLive}),d.push({label:R(`player_info`),onSelect:()=>e.setPage(`info`)})}else if(e.page===`audio`)u=R(`player_audio`),d=[{label:R(`player_auto`),checked:n===null,onSelect:()=>{i(null),o()}}].concat(s.map((e,t)=>({label:e.label||R(`track_n`,t+1),checked:n===e.index,onSelect:()=>{Sf(e.index),i(e.index),lf(`audio`,e),o()}})));else if(e.page===`subs`){u=R(`player_subtitles`);let t=Xf.value;d=[{label:R(`player_off`),checked:r===null&&!t,onSelect:()=>{Cf(null),a(null),Qf(),lf(`text`,null),o()}}],t&&d.push({label:t.label,checked:!0,onSelect:o}),d=d.concat(c.map((e,n)=>({label:e.label||R(`track_n`,n+1),checked:!t&&r===e.index,onSelect:()=>{Qf(),Cf(e.index),a(e.index),lf(`text`,e),o()}})));let n=e.vod;n&&(d.push({label:R(`sub_find`),onSelect:()=>{e.close(),n.findSubs()}}),d.push({label:R(`sub_load`),onSelect:()=>{e.close(),n.loadSubs()}}),t&&d.push({label:R(`sub_offset`),value:hp(Zf.value),onSelect:()=>e.setPage(`offset`)}))}else if(e.page===`offset`)u=R(`sub_offset`),d=mp.map(e=>({label:hp(e*1e3),checked:Zf.value===e*1e3,onSelect:()=>{Zf.value=e*1e3,o()}}));else if(e.page===`aspect`)u=R(`player_aspect`),d=dp.map(e=>({label:R(`aspect_${e}`),checked:Xd.value===e,onSelect:()=>{Xd.value=e,o()}}));else if(e.page===`speed`&&e.vod){let t=e.vod;u=R(`player_speed`),d=pp.map(e=>({label:gp(e),checked:t.speed===e,onSelect:()=>{t.setSpeed(e),o()}}))}else if(e.page===`sleep`)u=R(`player_sleep`),d=fp.map(t=>({label:t?R(`sleep_minutes`,t):R(`sleep_off`),checked:e.sleepMin===t,onSelect:()=>{e.onSleep(t),o()}}));else{u=R(`player_info`);let t=wf();d=[{label:R(`info_video`,t?`${t}p`:R(`info_none`)),onSelect:()=>{}},{label:R(`info_audio`,s.length?s.map(e=>e.label).join(`, `):R(`info_none`)),onSelect:()=>{}},{label:R(`back`),onSelect:()=>e.setPage(`main`)}]}let f=d.some(e=>e.checked);return M(`div`,{class:`options-panel`,ref:t,"data-focus-scope":!0,children:[M(`h2`,{children:u}),d.map((t,n)=>M(`button`,{class:`opt-row focus-row${t.checked?` selected`:``}`,"data-focus":!0,"data-focus-default":(f?t.checked:n===0)||void 0,onClick:t.onSelect,children:[M(`span`,{class:`opt-text`,children:[M(`span`,{class:`opt-label`,children:t.label}),t.value&&M(`span`,{class:`opt-value`,children:t.value})]}),t.checked?M(z,{name:`check`}):e.page===`main`&&t.value!==void 0?M(z,{name:`chevron`}):null]},`${e.page}-${n}`))]})}function kp({onRetry:e,onBack:t}){let n=F(null);return P(()=>{L(n.current)},[]),M(`div`,{class:`player-center`,children:M(`div`,{class:`error-card`,ref:n,"data-focus-scope":!0,children:[M(z,{name:`error`,class:`error-icon`}),M(`p`,{children:R(`player_error_${Jd.value}`)}),M(`div`,{class:`row`,children:[M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:e,children:R(`retry`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:t,children:R(`back`)})]})]})})}function Ap(){let e=Zd.value;if(e===`full`)return null;if(!e)return M(`div`,{class:`backdrop`,style:{left:0,top:0,right:0,bottom:0}});let t=window.innerWidth,n=window.innerHeight,r=(e,t,n,r)=>M(`div`,{class:`backdrop`,style:{left:`${e}px`,top:`${t}px`,width:`${n}px`,height:`${r}px`,backgroundPosition:`${-e}px ${-t}px`}});return M(x,{children:[r(0,0,t,e.y),r(0,e.y+e.h,t,n-e.y-e.h),r(0,e.y,e.x,e.h),r(e.x+e.w,e.y,t-e.x-e.w,e.h)]})}var jp=1.8,Mp=1.2,Np={movie:{w:11.6,ratio:1.5},series:{w:20,ratio:.5625}},Pp=[[`added`,`sort_added`],[`name`,`sort_name`],[`rating`,`sort_rating`],[`year`,`sort_year`]];function Fp(e){var t;let n=Nc.value,r=((t=(Mc.value||[]).find(e=>e.id===n))==null?void 0:t.lastSync)||0,[i,a]=N(`added`),[o,s]=N(e.filter.genre||null),[c,l]=N(null),[u,d]=N([]),[f,p]=N(0),[m,h]=N(6),[g,_]=N(Np[e.kind].w),[v,y]=N(null),b=Np[e.kind],x=g*b.ratio+jp,[S,ee]=N(null),C=F(null),w=F(null);P(()=>{bu(n,e.kind,r).then(d)},[n,e.kind]),P(()=>{let t=!0;return Su(n,e.kind,{categoryIds:e.filter.categoryIds,genre:o||void 0},i).then(e=>{t&&(l(e),p(0))}),()=>{t=!1}},[n,i,o,e.kind,JSON.stringify(e.filter)]),P(()=>{c&&c.length&&setTimeout(()=>L(C.current),0)},[c===null]),P(()=>{let e=C.current;if(!e)return;let t=gd(),n=e.clientWidth/t-2*Mp,r=Math.max(1,Math.round(n/(b.w+jp)));h(r),_(Math.floor((n/r-jp)*100)/100);let i=e=>{let t=e.target,n=t.closest(`[data-idx]`);n&&p(Number(n.getAttribute(`data-idx`)));let r=t.getAttribute(`data-info-title`);y(r?{title:r,meta:t.getAttribute(`data-info-meta`)||``}:null)};return e.addEventListener(`focusin`,i),()=>e.removeEventListener(`focusin`,i)},[c===null,e.kind]),Wt(e=>{if(e===`back`)return cd(),!0});let T=e.filter.platformKey?Js.find(t=>t.key===e.filter.platformKey):Zs(e.title),E=R(`genre_label`,o||R(`browse_all`));return M(`div`,{class:`browse`,ref:w,children:[M(Lp,{kind:e.kind,title:e.title,filter:e.filter,platform:T||null,genreCount:e.filter.genre&&c?c.length:null,children:M(`div`,{class:`row bb-sorts`,children:[Pp.map(([e,t])=>M(`button`,{class:`chip${i===e?` selected`:``}`,"data-focus":!0,onClick:()=>a(e),children:R(t)},e)),u.length>0&&M(`button`,{class:`btn outline bb-genre`,"data-focus":!0,onClick:()=>ee({title:E,items:[null,...u].map(e=>({label:e||R(`browse_all`),checked:e===o,onSelect:()=>s(e)}))}),children:E})]})}),e.kind===`movie`&&M(`p`,{class:`shelf-info browse-info`,children:[v&&M(`b`,{children:v.title}),v&&v.meta&&M(`span`,{children:` ${v.meta}`})]}),M(`div`,{class:`browse-grid ${e.kind}`,ref:C,"data-focus-group":`browse`,style:{"--cw":`${g}rem`},children:c&&(()=>{let t=Math.ceil(c.length/m),n=Math.floor(f/m),r=Math.max(0,n-4),i=Math.min(t,n+7),a=[M(`span`,{class:`grid-spacer`,style:{height:`${r*x}rem`}},`top`)];for(let t=r*m;t<Math.min(c.length,i*m);t++){let n=fu(c[t]);a.push(M(`span`,{"data-idx":t,class:`grid-cell`,children:M(Cd,{kind:e.kind,card:n,onClick:()=>Md(e.kind,n)})},n.key))}return a.push(M(`span`,{class:`grid-spacer`,style:{height:`${(t-i)*x}rem`}},`bottom`)),a})()}),S&&M(vn,{title:S.title,items:S.items,onClose:()=>ee(null)})]})}var Ip=e=>{let t=parseInt(e.slice(1),16);return`${t>>16}, ${t>>8&255}, ${t&255}`};function Lp(e){let t=Nc.value,{platform:n,filter:r}=e,[i,a]=N(null);P(()=>{let n=!0;return(async()=>{let i={movie:[],series:[]};if(r.platformKey)for(let e of[`movie`,`series`])i[e]=(await pu(t,e)).filter(e=>!e.adult&&(Zs(e.name)||{key:``}).key===r.platformKey).map(e=>e.id);else r.categoryIds&&(i[e.kind]=r.categoryIds);let o=async n=>r.platformKey||r.categoryIds?i[n].length?du(n).where(`categoryId`).anyOf(i[n]).count():0:n===e.kind&&r.all?du(n).where(`providerId`).equals(t).count():0,[s,c]=await Promise.all([o(`movie`),o(`series`)]);n&&a({movie:s,series:c,ids:i})})(),()=>{n=!1}},[t,e.kind,JSON.stringify(r)]);let o=!!n&&!!r.platformKey&&!!i&&i.movie>0&&i.series>0,s=t=>i?t===e.kind&&e.genreCount!==null?e.genreCount:i[t]:0,c=i&&!o?[`movie`,`series`].filter(e=>s(e)>0).map(e=>R(e===`movie`?`browse_movie_count`:`browse_series_count`,s(e))).join(` · `):``,l=n?Ip(n.color):`var(--accent-rgb)`,u=t=>{t!==e.kind&&i&&ld({name:`browse`,kind:t,title:e.title,filter:{categoryIds:i.ids[t],platformKey:r.platformKey}})};return M(`div`,{class:`browse-bar`,style:{background:`linear-gradient(90deg, rgba(${l}, 0.55), rgba(${l}, 0.12) 45%, rgba(255, 255, 255, 0.04))`},children:[M(`div`,{class:`bb-id`,children:[n?M(`span`,{class:`browse-logo`,children:M(Td,{p:n})}):M(`h1`,{class:`bb-title`,children:e.title}),c&&M(`span`,{class:`bb-count`,children:c})]}),o&&M(`div`,{class:`bb-tabs`,"data-focus-group":`browse-tabs`,children:[`movie`,`series`].map(t=>M(`button`,{class:`bb-tab${t===e.kind?` selected`:``}`,"data-focus":!0,"data-focus-default":t===e.kind||void 0,onClick:()=>u(t),children:[R(t===`movie`?`nav_movies`:`nav_series`),M(`span`,{class:`bb-tab-count`,children:` ${i[t]}`})]},t))}),M(`span`,{class:`spacer`}),e.children]})}var Rp=e=>{let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60);return n?`${n}:${vu(r)}:${vu(t%60)}`:`${vu(r)}:${vu(t%60)}`},zp=e=>!!e&&!e.watched&&e.position>1e4;function Bp({src:e}){return M(`div`,{class:`detail-backdrop`,children:[e&&M(`img`,{src:e,alt:``}),M(`span`,{class:`db-h`}),M(`span`,{class:`db-v`})]})}function Vp({chips:e}){return M(`div`,{class:`meta-chips`,children:e.filter(Boolean).map(e=>M(`span`,{class:`meta-chip${e.startsWith(`★`)?` gold`:``}`,children:e},e))})}function Hp(e,t){let[n,r]=N([]);return P(()=>{e&&Cu(e,t).then(r)},[e&&e.id]),n}function Up(e,t,n){return{title:R(`vod_versions`,e.length),items:e.map(e=>({label:Rs(e.name)||R(`vod_version_standard`),checked:e.id===t.id,onSelect:()=>{e.id!==t.id&&ld(n===`movie`?{name:`movie`,id:e.id}:{name:`series`,id:e.id})}}))}}function Wp(){Wt(e=>{if(e===`back`)return cd(),!0})}function Gp({id:e}){let[t,n]=N(null),[r,i]=N(),[a,o]=N(!1),[s,c]=N([]),[l,u]=N(null),d=F(null),f=Hp(t,`movie`);Wp();let p=async()=>{i(await cu(e)),o(!!await K.favorites.get(e))};if(P(()=>{let t=!0;K.movies.get(e).then(async r=>{if(!r||!t)return;n(r);let i=await nu(r);if(!t||(n(i),r.categoryId===null))return;let a=(await hu(r.categoryId,21)).filter(t=>t.id!==e).slice(0,20);t&&c(a)}),p();let r=()=>p();return window.addEventListener(`utopya:progress`,r),()=>{t=!1,window.removeEventListener(`utopya:progress`,r)}},[e]),P(()=>{t&&setTimeout(()=>L(d.current),0)},[!!t]),!t)return null;let m=zp(r),h=!!r&&r.watched,g=e=>sd({name:`vod`,kind:`movie`,id:t.id,startMs:e}),_=[[m?R(`vod_resume`,Rp(r.position)):R(`vod_play`),()=>g(m?r.position:0)]];return m&&_.push([R(`vod_restart`),()=>g(0)]),f.length>1&&_.push([R(`vod_versions`,f.length),()=>u(Up(f,t,`movie`))]),_.push([R(a?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await Wl(t.providerId,`movie`,t.id),p()}]),_.push([R(h?`vod_mark_unwatched`:`vod_mark_watched`),async()=>{await su(`movie`,t.id,t.providerId,null,!h),p()}]),M(`div`,{class:`detail`,children:[M(Bp,{src:t.backdrop||t.poster}),M(`div`,{class:`detail-scroll`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:cd,children:[M(z,{name:`back`}),R(`back`)]}),M(`div`,{class:`detail-row`,children:[M(`div`,{class:`detail-poster`,children:t.poster&&M(`img`,{src:t.poster,alt:``})}),M(`div`,{class:`detail-info`,children:[M(`h1`,{children:t.name}),M(Vp,{chips:[t.year,t.durationSec?R(`vod_minutes`,Math.ceil(t.durationSec/60)):null,_d(t.rating),t.genre]}),t.plot&&M(`p`,{class:`detail-plot`,children:t.plot}),t.director&&M(`p`,{class:`detail-credit`,children:R(`vod_director`,t.director)}),t.cast&&M(`p`,{class:`detail-credit`,children:R(`vod_cast`,t.cast)}),M(`div`,{class:`detail-actions`,ref:d,children:_.map(([e,t],n)=>M(`button`,{class:`btn ${n===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":n===0||void 0,onClick:t,children:e},e))})]})]}),s.length>0&&M(Ad,{title:R(`shelf_similar`),info:!0,children:s.map(e=>{let t=fu(e);return M(xd,{card:t,onClick:()=>ld({name:`movie`,id:t.id})},t.key)})})]}),l&&M(vn,{title:l.title,items:l.items,onClose:()=>u(null)})]})}function Kp(e,t){if(!e.length)return null;let n=e.filter(e=>zp(t.get(e.id))).sort((e,n)=>t.get(n.id).updated-t.get(e.id).updated)[0];if(n)return{ep:n,pos:t.get(n.id).position};let r=-1;return e.forEach((e,n)=>{let i=t.get(e.id);i&&i.watched&&(r=n)}),{ep:e[Math.min(r+1,e.length-1)],pos:0}}function qp({id:e,season:t}){let[n,r]=N(null),[i,a]=N(null),[o,s]=N(new Map),[c,l]=N(!1),[u,d]=N(t||null),[f,p]=N(null),m=F(null),h=Hp(n,`series`);Wp();let g=async(t=i)=>{t&&s(await lu(t.map(e=>e.id))),l(!!await K.favorites.get(e))};if(P(()=>{let t=!0;K.series.get(e).then(async e=>{if(!e||!t)return;r(e);let n=await ru(e);t&&(r(n.series),a(n.episodes),n.episodes.length&&u===null&&d(Math.min(...n.episodes.map(e=>e.season))),g(n.episodes))});let n=()=>g();return window.addEventListener(`utopya:progress`,n),()=>{t=!1,window.removeEventListener(`utopya:progress`,n)}},[e]),P(()=>{n&&setTimeout(()=>L(m.current),0)},[!!n]),!n)return null;let _=i?Kp(i,o):null,v=i?[...new Set(i.map(e=>e.season))].sort((e,t)=>e-t):[],y=(e,t)=>sd({name:`vod`,kind:`episode`,id:e.id,seriesId:n.id,startMs:t}),b=e=>`S${vu(e.season)}E${vu(e.episode)}`,x=[];_&&x.push([_.pos?R(`vod_resume`,`${b(_.ep)} · ${Rp(_.pos)}`):`${R(`vod_play`)} ${b(_.ep)}`,()=>y(_.ep,_.pos)]),h.length>1&&x.push([R(`vod_versions`,h.length),()=>p(Up(h,n,`series`))]),x.push([R(c?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await Wl(n.providerId,`series`,n.id),g()}]);let S=e=>{let t=o.get(e.id),r=!!t&&t.watched;p({title:e.title,items:[{label:R(r?`vod_mark_unwatched`:`vod_mark_watched`),onSelect:async()=>{await su(`episode`,e.id,n.providerId,n.id,!r),g()}}]})};return M(`div`,{class:`detail`,children:[M(Bp,{src:n.backdrop||n.poster}),M(`div`,{class:`detail-scroll series`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:cd,children:[M(z,{name:`back`}),R(`back`)]}),M(`div`,{class:`detail-row`,children:[M(`div`,{class:`detail-poster`,children:n.poster&&M(`img`,{src:n.poster,alt:``})}),M(`div`,{class:`detail-info`,children:[M(`h1`,{children:n.name}),M(Vp,{chips:[n.year,_d(n.rating),n.genre]}),n.plot&&M(`p`,{class:`detail-plot`,children:n.plot}),n.cast&&M(`p`,{class:`detail-credit`,children:R(`vod_cast`,n.cast)}),M(`div`,{class:`detail-actions`,ref:m,children:x.map(([e,t],n)=>M(`button`,{class:`btn ${n===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":n===0||void 0,onClick:t,children:e},e))})]})]}),v.length>1?M(`div`,{class:`season-chips`,children:v.map(e=>M(`button`,{class:`chip${e===u?` selected`:``}`,"data-focus":!0,onClick:()=>d(e),children:R(`vod_season`,e)},e))}):M(`div`,{class:`season-gap`}),i===null&&M(`p`,{class:`muted`,children:R(`vod_episodes_loading`)}),i&&!i.length&&M(`p`,{class:`muted`,children:R(`vod_no_episodes`)}),M(`div`,{class:`episode-list`,"data-focus-group":`episodes`,children:i&&i.filter(e=>e.season===u).map(e=>M(Jp,{e,poster:n.poster,p:o.get(e.id),onClick:()=>{let t=o.get(e.id);y(e,t&&!t.watched?t.position:0)},onLongPress:()=>S(e)},e.id))})]}),f&&M(vn,{title:f.title,items:f.items,onClose:()=>p(null)})]})}function Jp(e){let{e:t,p:n}=e,r=n&&!n.watched&&n.duration?n.position/n.duration:0;return M(`button`,{onlongpress:e.onLongPress,class:`episode-row focus-row`,"data-focus":!0,onClick:e.onClick,children:[M(`span`,{class:`ep-thumb`,children:[(t.poster||e.poster)&&M(dn,{src:t.poster||e.poster}),r>0&&r<.95&&M(`span`,{class:`poster-progress`,children:M(`span`,{style:{width:`${Math.round(r*100)}%`}})})]}),M(`span`,{class:`ep-text`,children:[M(`span`,{class:`ep-title`,children:R(`vod_episode_title`,t.episode,t.title)}),t.plot&&M(`span`,{class:`ep-plot`,children:t.plot})]}),t.durationSec?M(`span`,{class:`ep-min`,children:R(`vod_minutes`,Math.round(t.durationSec/60))}):null,n&&n.watched&&M(z,{name:`check`,class:`ep-watched`})]})}var Yp=`keys`,Xp=null;function Zp(){return new Promise((e,t)=>{let n=indexedDB.open(`utopya-keys`,1);n.onupgradeneeded=()=>n.result.createObjectStore(Yp),n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function Qp(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function $p(){return Xp||(Xp=(async()=>{let e=window.crypto&&window.crypto.subtle;if(!e)return null;try{let t=await Zp(),n=await Qp(t.transaction(Yp).objectStore(Yp).get(`main`));if(n)return n;let r=await e.generateKey({name:`AES-GCM`,length:256},!1,[`encrypt`,`decrypt`]);return await Qp(t.transaction(Yp,`readwrite`).objectStore(Yp).put(r,`main`)),r}catch(e){return console.warn(`şifreleme anahtarı yok`,e),null}})()),Xp}var em=e=>btoa(String.fromCharCode.apply(null,Array.prototype.slice.call(new Uint8Array(e)))),tm=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function nm(e){let t=await $p();if(!t)return`p:${e}`;let n=crypto.getRandomValues(new Uint8Array(12)),r=await crypto.subtle.encrypt({name:`AES-GCM`,iv:n},t,new TextEncoder().encode(e));return`v1:${em(n)}:${em(r)}`}async function rm(e){if(e.startsWith(`p:`))return e.slice(2);let t=/^v1:([^:]+):(.+)$/.exec(e),n=await $p();if(!t||!n)return null;try{let e=await crypto.subtle.decrypt({name:`AES-GCM`,iv:tm(t[1])},n,tm(t[2]));return new TextDecoder().decode(e)}catch(e){return null}}var im=`https://api.opensubtitles.com/api/v1`,am=`UtopyaTV v1.0`,om=`utopya.opensubtitles`;async function sm(){try{let e=localStorage.getItem(om),t=e&&await rm(e);return t?JSON.parse(t):null}catch(e){return null}}var cm=null;async function lm(e){cm=null;try{e&&(e.key||e.user||e.pass)?localStorage.setItem(om,await nm(JSON.stringify(e))):localStorage.removeItem(om)}catch(e){}}var um=class extends Error{};async function dm(e,t,n,r){let i=n?`?`+Object.keys(n).sort().map(e=>`${e.toLowerCase()}=${encodeURIComponent(String(n[e]).toLowerCase())}`).join(`&`):``,a={"Api-Key":e.key,Accept:`application/json`,"X-User-Agent":am};cm&&(a.Authorization=`Bearer ${cm}`),r&&(a[`Content-Type`]=`application/json`);let o=await fetch(dr(im+t+i),{method:r?`POST`:`GET`,headers:a,body:r?JSON.stringify(r):void 0,credentials:`omit`});if(o.status===406||o.status===429)throw new um;if(!o.ok)throw Error(`OpenSubtitles ${o.status}`);return o.json()}var fm=65536;function pm(e,t,n){let r=e>>>0,i=Math.floor(e/4294967296)>>>0;for(let e of[t,n]){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let n=0;n+8<=e.byteLength;n+=8){let e=r+t.getUint32(n,!0);r=e>>>0,i=i+t.getUint32(n+4,!0)+ +(e>4294967295)>>>0}}let a=e=>(`00000000`+e.toString(16)).slice(-8);return a(i)+a(r)}async function mm(e,t,n){let r=await fetch(dr(e),{headers:{Range:`bytes=${t}-${n}`},credentials:`omit`});if(r.status!==206)return null;let i=parseInt((r.headers.get(`content-range`)||``).split(`/`)[1],10);return{bytes:new Uint8Array(await r.arrayBuffer()),total:i}}async function hm(e){try{let t=await mm(e,0,65535);if(!t||!(t.total>=2*fm))return null;let n=await mm(e,t.total-fm,t.total-1);return n?pm(t.total,t.bytes,n.bytes):null}catch(e){return null}}function gm(e,t,n){let r=e.filter(e=>e.attributes.files&&e.attributes.files.length),i=e=>{let n=e.attributes.feature_details||{};return t.season===void 0||n.season_number===t.season&&n.episode_number===t.episode},a=e=>{let n=e.attributes.feature_details||{};return t.season===void 0||n.season_number===void 0||n.season_number===t.season},o=Bs(t.title).map(Ns),s=t.year?parseInt(t.year,10):NaN,c=e=>{let n=e.attributes.feature_details||{},r=Ns((t.season===void 0?n.title:n.parent_title)||``);return!r||o.indexOf(r)<0?!1:isNaN(s)||!n.year||Math.abs(n.year-s)<=1},l=e=>e.sort((e,t)=>(t.attributes.download_count||0)-(e.attributes.download_count||0))[0]||null;return l(r.filter(e=>String(e.attributes.moviehash_match)===`true`&&a(e)))||(n?l(r.filter(i)):null)||l(r.filter(e=>i(e)&&c(e)))}async function _m(e,t){let n=await sm();if(!n||!n.key)return{kind:`no_key`};try{let r=await hm(e.url),i={languages:t};r&&(i.moviehash=r),e.season===void 0?i.type=`movie`:(i.type=`episode`,i.season_number=e.season,i.episode_number=e.episode);let a=async e=>(await dm(n,`/subtitles`,V(V({},i),e))).data||[],o=null;e.tmdbId&&+e.tmdbId>0&&(o=gm(await a(e.season===void 0?{tmdb_id:e.tmdbId}:{parent_tmdb_id:e.tmdbId}),e,!0));for(let t of Bs(e.title).reverse()){if(o)break;let n={query:t.toLowerCase()};e.season===void 0&&e.year&&(n.year=e.year.slice(0,4)),o=gm(await a(n),e,!1)}if(!o)return{kind:`not_found`};if(n.user&&!cm)try{cm=(await dm(n,`/login`,null,{username:n.user,password:n.pass})).token||null}catch(e){}let s=await dm(n,`/download`,null,{file_id:o.attributes.files[0].file_id});if(!s.link)return{kind:`not_found`};let c=await fetch(dr(s.link),{credentials:`omit`});if(!c.ok)return{kind:`failed`};let l=Yf(await c.arrayBuffer());return l.trim()?{kind:`found`,name:o.attributes.release||`OpenSubtitles`,text:l}:{kind:`failed`}}catch(e){return e instanceof um?{kind:`limit`}:(console.warn(`OpenSubtitles`,e),{kind:`failed`})}}var vm=4e3,ym=650,bm=[`fit`,`fill`,`zoom`],xm=e=>e<10?`0${e}`:`${e}`,Sm=()=>{let e=new Date;return`${xm(e.getHours())}:${xm(e.getMinutes())}`},Cm=e=>`S${vu(e.season)}E${vu(e.episode)}`;function wm(e){let[t,n]=N(null),[r,i]=N([]),[a,o]=N(null),[s,c]=N(!0),[l,u]=N(null),[d,f]=N(null),[p,m]=N(!1),[h,g]=N(1),[_,v]=N(0),[,y]=N(0),b=F(void 0),S=F(void 0),ee=F(0),C=F(!1),w=F(!1),[T,E]=N(!1),D=r.findIndex(t=>t.id===e.id),O=D>0?r[D-1]:null,k=D>=0&&D<r.length-1?r[D+1]:null,te=F({props:e,info:t});te.current={props:e,info:t};let A=(e=!1)=>{var t;let{props:n,info:r}=te.current,i=Tf();if(!r||i<=0)return;let a=C.current?i:Qd.peek();n.kind!==`stream`&&(ou(n.kind,n.id,r.providerId,(t=n.seriesId)==null?null:t,a,i),e&&window.dispatchEvent(new Event(`utopya:progress`)))},j=()=>{c(!0),clearTimeout(b.current),b.current=window.setTimeout(()=>c(!1),vm)};P(()=>{let t=!0;return C.current=!1,w.current=!1,clearTimeout(S.current),u(null),g(1),Qf(),m(!1),f(null),(async()=>{let r;if(e.kind===`stream`)r={title:e.title||``,sub:``,url:e.url,userAgent:null,providerId:-1,target:{title:e.title||``,year:null,url:e.url,tmdbId:null}};else if(e.kind===`movie`){let t=await K.movies.get(e.id);if(!t)return;r={title:t.name,sub:t.year||``,url:t.url,userAgent:null,providerId:t.providerId,target:{title:t.name,year:t.year,url:t.url,tmdbId:t.tmdbId||null}}}else{let[n,a]=await Promise.all([K.episodes.get(e.id),K.series.get(e.seriesId)]);if(!n||!a)return;r={title:a.name,sub:`${Cm(n)} · ${n.title}`,url:n.url,userAgent:null,providerId:a.providerId,target:{title:a.name,year:a.year,season:n.season,episode:n.episode,url:n.url,tmdbId:a.tmdbId||null}},t&&i(iu(await K.episodes.where(`seriesId`).equals(a.id).toArray()))}let a=(Mc.value||[]).find(e=>e.id===r.providerId);if(r.userAgent=a?a.userAgent:null,!t)return;n(r);let o=e.startMs;if(o===void 0){let t=await cu(e.id);o=t&&!t.watched?t.position:0}Zd.value=`full`,hf({url:r.url,userAgent:r.userAgent,key:e.kind===`stream`?`stream:${r.url}`:`vod:${e.id}`},{startMs:o||void 0,onEnded:()=>{C.current=!0,A(!0),j()},onStarted:()=>ae(r.target)}),j()})(),()=>{t=!1}},[e.id]),P(()=>{let e=setInterval(()=>{X.peek()===`playing`&&A()},1e4),t=setInterval(()=>y(e=>e+1),1e3);return()=>{clearInterval(e),clearInterval(t)}},[t]),P(()=>()=>{A(!0),_f(),Qf(),Zd.value=null,clearTimeout(b.current)},[]);let ne=()=>q.peek().preferredSubtitle||`tr`,re=(e,t)=>{let n=qf(t);return n.length?(Cf(null),Zf.value=0,Xf.value={label:e,cues:n},!0):!1},ie=async(e,t)=>{t||B(R(`sub_searching`));let n=te.current.props.id,r=await _m(e,ne());if(te.current.props.id===n){if(r.kind===`found`)re(r.name,r.text)?B(R(`sub_found`,r.name)):t||B(R(`sub_failed`));else if(t)return;else r.kind===`not_found`?B(R(`sub_not_found`)):r.kind===`no_key`?B(R(`sub_no_key`)):r.kind===`limit`?B(R(`sub_limit`)):B(R(`error_network`))}},ae=e=>{if(w.current||!q.peek().autoSubtitles)return;w.current=!0;let t=te.current.props.id;setTimeout(()=>{if(te.current.props.id!==t||Xf.peek())return;let n=ne();xf().some(e=>e.language.toLowerCase().startsWith(n))||ie(e,!0)},4e3)},oe=async e=>{try{let t=await fetch(dr(fr(e)),{credentials:`omit`});if(t.ok&&re(`SRT`,Yf(await t.arrayBuffer()))){B(R(`sub_loaded`));return}}catch(e){}B(R(`sub_failed`))},se=Tf(),ce=se-Qd.peek();P(()=>{if(!k||p||d!==null||!q.peek().autoNextEpisode)return;let t=Kd.peek();t&&t.key===`vod:${e.id}`&&X.peek()!==`loading`&&(C.current||se>6e4&&ce>0&&ce<=15e3)&&f(10)}),P(()=>{if(d===null)return;if(d<=0){le(k);return}let e=setTimeout(()=>f(e=>e===null?null:e-1),1e3);return()=>clearTimeout(e)},[d]),P(()=>{if(!_)return;let e=setTimeout(()=>{X.peek()!==`paused`&&vf(),v(0),B(R(`sleep_triggered`))},_*6e4);return()=>clearTimeout(e)},[_]);let le=t=>{A(),cu(t.id).then(n=>ld({name:`vod`,kind:`episode`,id:t.id,seriesId:e.seriesId,startMs:n&&!n.watched?n.position:0}))},ue=()=>{A(),cd()},de=e=>{let t=l===null?Qd.peek():l,n=Math.max(0,Math.min(se||1/0,t+e));u(n),j(),clearTimeout(S.current),S.current=window.setTimeout(()=>{yf(n),u(null)},ym)};if(P(()=>{let e=()=>{a||o({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[a]),Wt((e,t)=>{if(e===`back`)return a?o(null):d===null?s&&X.peek()===`playing`?(clearTimeout(b.current),c(!1)):ue():(f(null),m(!0)),!0;if(a||d!==null)return;ee.current=t.repeat?ee.current+1:0;let n=ee.current>6?6e4:ee.current>2?3e4:1e4;switch(e){case`ok`:return vf(),j(),!0;case`left`:return de(-n),!0;case`right`:return de(n),!0;case`rew`:return de(-3e4),!0;case`ff`:return de(3e4),!0;case`playPause`:case`play`:case`pause`:return vf(),j(),!0;case`up`:case`info`:return o(`controls`),c(!0),clearTimeout(b.current),!0;case`down`:return r.length?o(`episodes`):j(),!0;case`menu`:return o({page:`main`,direct:!1}),!0;case`green`:return o({page:`audio`,direct:!0}),!0;case`yellow`:return o({page:`subs`,direct:!0}),!0;case`chUp`:return k&&le(k),!0;case`chDown`:return O&&le(O),!0}}),!t)return null;let fe=X.value;return M(`div`,{class:`player vod-player`,children:[M(tp,{}),fe===`loading`&&M(`div`,{class:`player-center`,children:M(`div`,{class:`spinner`})}),(s||fe===`paused`||l!==null||a===`controls`)&&M(x,{children:[M(`div`,{class:`vod-top`,children:[M(`div`,{children:[M(`h1`,{children:t.title}),t.sub&&M(`p`,{children:t.sub})]}),M(`span`,{class:`band-clock`,children:Sm()})]}),M(`div`,{class:`vod-bottom`,children:[M(Om,{paused:fe===`paused`,target:l,d:se}),a===`controls`?M(Tm,{paused:fe===`paused`,series:r.length>0,prev:!!O,next:!!k,close:()=>{o(null),j()},on:{play:()=>vf(),back10:()=>de(-1e4),fwd10:()=>de(1e4),prev:()=>O&&le(O),next:()=>k&&le(k),episodes:()=>o(`episodes`),audio:()=>o({page:`audio`,direct:!0}),subs:()=>o({page:`subs`,direct:!0}),speed:()=>o({page:`speed`,direct:!0}),picture:()=>{let e=bm[(bm.indexOf(Xd.value)+1)%3];Xd.value=e,B(R(`aspect_${e}`))},more:()=>o({page:`main`,direct:!1}),exit:ue}}):M(`p`,{class:`band-hint`,children:R(`vod_hint`)})]})]}),a===`episodes`&&M(Em,{eps:r,current:e.id,onPick:t=>{o(null),t.id!==e.id&&le(t)}}),a&&typeof a==`object`&&M(Op,{page:a.page,direct:a.direct,favorite:!1,sleepMin:_,setPage:e=>o({page:e,direct:!1}),close:()=>o(null),onFavorite:()=>{},onSleep:e=>{v(e),e&&B(R(`sleep_set`,e))},vod:{speed:h,setSpeed:e=>{Df(e),g(e)},prev:O?{title:`${Cm(O)} · ${O.title}`,go:()=>le(O)}:void 0,next:k?{title:`${Cm(k)} · ${k.title}`,go:()=>le(k)}:void 0,findSubs:()=>ie(t.target,!1),loadSubs:()=>E(!0)}}),T&&M(Sn,{title:R(`sub_url_title`),label:R(`sub_url_hint`),initial:``,placeholder:`https://…/altyazi.srt`,onSave:e=>{e.trim()&&oe(e)},onClose:()=>E(!1)}),d!==null&&k&&M(Dm,{seconds:d,title:`${Cm(k)} · ${k.title}`,onPlay:()=>le(k),onCancel:()=>{f(null),m(!0)}})]})}function Tm(e){let t=F(null);P(()=>{L(t.current)},[]),Wt(t=>t===`back`?(e.close(),!0):void 0);let n=e.on,r=[[e.paused?`play`:`pause`,R(e.paused?`pc_play`:`pc_pause`),n.play],[`back`,`-10 sn`,n.back10],[`chevron`,`+10 sn`,n.fwd10]];return e.series&&e.prev&&r.push([`back`,R(`pc_prev`),n.prev]),e.series&&e.next&&r.push([`chevron`,R(`pc_next`),n.next]),e.series&&r.push([`list`,R(`vod_episodes`),n.episodes]),r.push([`audio`,R(`player_audio`),n.audio],[`subtitles`,R(`player_subtitles`),n.subs],[`more`,R(`pc_speed`),n.speed],[`aspect`,R(`pc_picture`),n.picture],[`more`,R(`pc_more`),n.more],[`back`,R(`back`),n.exit]),M(`div`,{class:`control-bar`,ref:t,"data-focus-scope":!0,children:r.map(([e,t,n],r)=>M(`div`,{class:`cb-item`,children:[M(`button`,{class:`cb-btn`,"data-focus":!0,"data-focus-default":r===0||void 0,onClick:n,children:M(z,{name:e})}),M(`span`,{class:`cb-label`,children:t})]},t))})}function Em({eps:e,current:t,onPick:n}){let r=F(null);return P(()=>{let e=r.current&&r.current.querySelector(`[data-current]`);e&&e.focus()},[]),M(`div`,{class:`episodes-panel`,ref:r,"data-focus-scope":!0,children:[M(`h2`,{children:R(`vod_episodes`)}),e.map(e=>M(`button`,{class:`focus-row opt-row${e.id===t?` selected`:``}`,"data-focus":!0,"data-current":e.id===t||void 0,onClick:()=>n(e),children:[M(`span`,{class:`ep-code`,children:Cm(e)}),M(`span`,{class:`opt-label`,children:e.title})]},e.id))]})}function Dm(e){let t=F(null);return P(()=>{L(t.current)},[]),M(`div`,{class:`next-card`,ref:t,"data-focus-scope":!0,children:[M(`p`,{class:`next-when`,children:R(`vod_next_episode`,e.seconds)}),M(`p`,{class:`next-title`,children:e.title}),M(`div`,{class:`row`,children:[M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:e.onPlay,children:R(`vod_play_now`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:e.onCancel,children:R(`cancel`)})]})]})}function Om({paused:e,target:t,d:n}){let r=t===null?Qd.value:t,i=e=>n>0?`${Math.min(100,e/n*100)}%`:`0%`;return M(`div`,{class:`vod-bar-row`,children:[M(z,{name:e?`play`:`pause`,class:`vod-state`}),M(`span`,{class:`vod-time`,children:Rp(r)}),M(`div`,{class:`vod-bar`,children:[M(`span`,{class:`vod-buffer`,style:{width:i(Ef())}}),M(`span`,{class:`vod-played`,style:{width:i(r)}})]}),M(`span`,{class:`vod-time`,children:[`-`,Rp(Math.max(0,n-r))]})]})}function km({channelId:e}){let[t,n]=N(null),[r,i]=N(null),[a,o]=N(null),[s,c]=N(``),l=F(null);if(Wt(e=>e===`back`?(cd(),!0):void 0),P(()=>{K.channels.get(e).then(async e=>{if(!e)return;n(e);let t=await K.epgLinks.get(e.id);o(t?t.key:null),i((await K.epgChannels.where(`providerId`).equals(e.providerId).toArray()).sort((e,t)=>e.name.localeCompare(t.name)))})},[e]),P(()=>{r&&setTimeout(()=>L(l.current),0)},[!!r]),!t)return null;let u=s.trim().toLowerCase(),d=(r||[]).filter(e=>!u||e.name.toLowerCase().indexOf(u)>=0||e.xmlId.indexOf(s.trim())>=0).slice(0,300),f=(r||[]).find(e=>e.id===a),p=async e=>{e?await K.epgLinks.put({id:t.id,providerId:t.providerId,key:e,manual:!0}):await K.epgLinks.delete(t.id),Hc(t.providerId,void 0,`epg`),cd()};return M(`div`,{class:`epg-mapping`,children:[M(`div`,{class:`em-left`,children:[M(`button`,{class:`btn outline`,"data-focus":!0,onClick:cd,children:[M(z,{name:`back`}),R(`back`)]}),M(`h1`,{children:R(`epg_mapping_title`)}),M(`p`,{class:`em-channel`,children:t.name}),a&&M(`p`,{class:`muted`,children:R(`epg_mapping_current`,f?f.name:a.split(`|`)[1])}),M(pn,{label:R(`epg_mapping_filter`),value:s,onInput:c,class:`em-filter`})]}),M(`div`,{class:`em-list`,ref:l,"data-focus-group":`epgmap`,children:r&&!r.length?M(`p`,{children:R(`epg_mapping_none`)}):M(x,{children:[M(`button`,{class:`focus-row opt-row em-auto`,"data-focus":!0,"data-focus-default":!0,onClick:()=>p(null),children:R(`epg_mapping_auto`)}),d.map(e=>M(`button`,{class:`focus-row opt-row${e.id===a?` selected`:``}`,"data-focus":!0,onClick:()=>p(e.id),children:[M(`span`,{class:`opt-label`,children:e.name}),M(`span`,{class:`muted em-id`,children:e.xmlId})]},e.id))]})})]})}var Am=`utopya.settings`,jm=`utopya-yedek-`;async function Mm(){let[e,t,n,r,i,a,o]=await Promise.all([K.providers.toArray(),K.favorites.toArray(),K.groups.toArray(),K.groupItems.toArray(),K.catState.toArray(),K.chanState.toArray(),K.progress.toArray()]),s={version:1,app:`tizen`,createdAt:Date.now(),settings:localStorage.getItem(Am)||`{}`,providers:e,favorites:t,groups:n,groupItems:r,catState:i,chanState:a,progress:o};return JSON.stringify(s)}var Nm=e=>e<10?`0${e}`:`${e}`;function Pm(e=new Date){return`${jm}${e.getFullYear()}${Nm(e.getMonth()+1)}${Nm(e.getDate())}-${Nm(e.getHours())}${Nm(e.getMinutes())}.json`}async function Fm(){let e=await Mm(),t=Pm();if(!Et){let n=document.createElement(`a`);return n.href=URL.createObjectURL(new Blob([e],{type:`application/json`})),n.download=t,n.click(),setTimeout(()=>URL.revokeObjectURL(n.href),5e3),t}let n=(await new Promise((e,t)=>tizen.filesystem.resolve(`downloads`,e,t,`rw`))).createFile(t);return await new Promise((t,r)=>n.openStream(`w`,n=>{n.write(e),n.close(),t()},r,`UTF-8`)),`Downloads/${t}`}async function Im(){if(!Et)return[];let e=[],t=async t=>{try{let n=await new Promise((e,n)=>tizen.filesystem.resolve(t,e,n,`r`)),r=await new Promise(e=>n.listFiles(e,()=>e([])));for(let t of r)!t.isDirectory&&t.name.indexOf(jm)===0&&/\.json$/i.test(t.name)&&e.push({name:t.name,uri:t.toURI()})}catch(e){}};await t(`downloads`);let n=await new Promise(e=>tizen.filesystem.listStorages(e,()=>e([])));for(let e of n)e.type===`EXTERNAL`&&e.state===`MOUNTED`&&await t(e.label);return e.sort((e,t)=>e.name<t.name?1:-1)}async function Lm(e){let t=await new Promise((t,n)=>tizen.filesystem.resolve(e,t,n,`r`));return new Promise((e,n)=>t.readAsText(e,n,`UTF-8`))}async function Rm(e){let t=JSON.parse(e);if(!t||t.version!==1||!Array.isArray(t.providers))throw Error(`yedek biçimi tanınmadı`);let n=[K.channels,K.movies,K.series,K.episodes,K.categories,K.programs,K.epgLinks,K.epgChannels,K.recents],r=[K.providers,K.favorites,K.groups,K.groupItems,K.catState,K.chanState,K.progress];await K.transaction(`rw`,[...n,...r],async()=>{for(let e of[...n,...r])await e.clear();await K.providers.bulkPut(t.providers),await K.favorites.bulkPut(t.favorites),await K.groups.bulkPut(t.groups),await K.groupItems.bulkPut(t.groupItems),await K.catState.bulkPut(t.catState),await K.chanState.bulkPut(t.chanState),await K.progress.bulkPut(t.progress)});try{localStorage.setItem(Am,t.settings)}catch(e){}Ec(),await Ic();for(let e of await K.providers.toArray())Hc(e.id)}var zm=[[`sources`,`set_sources`,`dns`],[`player`,`set_player`,`play`],[`look`,`set_appearance`,`grid`],[`epg`,`set_epg`,`guide`],[`parental`,`set_parental`,`lock`],[`hidden`,`set_hidden`,`list`],[`about`,`set_about`,`more`]];function Q(e){return M(`button`,{onlongpress:e.onLongPress,class:`focus-row set-row`,"data-focus":!0,onClick:e.onClick,children:[M(`span`,{class:`opt-text`,children:[M(`span`,{class:`opt-label`,children:e.title}),e.subtitle&&M(`span`,{class:`set-sub`,children:e.subtitle})]}),e.value&&M(`span`,{class:`set-value`,children:e.value})]})}var Bm=({text:e})=>M(`h3`,{class:`set-header`,children:e});function Vm(){let[e,t]=N(`sources`),[n,r]=N(null),i=F(null),a=q.value;P(()=>{setTimeout(()=>L(i.current),0)},[]);let o=(e,t,n,i)=>r({kind:`menu`,title:e,items:t.map(([e,t])=>({label:t,checked:e===n,onSelect:()=>i(e)}))}),s=e=>Dc(e),c=e=>R(e?`set_on`:`set_off`),l=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1];return M(`div`,{class:`settings`,children:[M(`div`,{class:`set-sections`,ref:i,"data-focus-group":`set-sections`,children:zm.map(([n,r,i])=>M(`button`,{class:`focus-row set-section${e===n?` selected`:``}`,"data-focus":!0,"data-focus-default":e===n||void 0,onFocus:()=>t(n),onClick:()=>t(n),children:[M(z,{name:i}),M(`span`,{children:R(r)})]},n))}),M(`div`,{class:`set-panel glass`,"data-focus-group":`set-panel`,children:[M(`h2`,{children:R(zm.find(t=>t[0]===e)[1])}),e===`sources`&&M(Um,{setDialog:r}),e===`player`&&(()=>{let e=[[null,R(`set_lang_default`)],[`tr`,`Türkçe`],[`en`,`English`],[`de`,`Deutsch`],[`fr`,`Français`],[`ar`,`العربية`],[`ru`,`Русский`]],t=[[null,R(`player_off`)],...e.slice(1)],n=[[`fit`,R(`aspect_fit`)],[`fill`,R(`aspect_fill`)],[`zoom`,R(`aspect_zoom`)]],i=[.75,1,1.25,1.5,1.75].map(e=>[e,`%${Math.round(e*100)}`]),u=[[0,R(`color_white`)],[1,R(`color_yellow`)],[2,R(`color_cyan`)]];return M(x,{children:[M(Q,{title:R(`set_audio_lang`),value:l(e,a.preferredAudio),onClick:()=>o(R(`set_audio_lang`),e,a.preferredAudio,e=>s({preferredAudio:e}))}),M(Q,{title:R(`set_sub_lang`),value:l(t,a.preferredSubtitle),onClick:()=>o(R(`set_sub_lang`),t,a.preferredSubtitle,e=>s({preferredSubtitle:e}))}),M(Q,{title:R(`set_sub_size`),value:l(i,a.subtitleScale),onClick:()=>o(R(`set_sub_size`),i,a.subtitleScale,e=>s({subtitleScale:e}))}),M(Q,{title:R(`set_sub_color`),value:l(u,a.subtitleColor),onClick:()=>o(R(`set_sub_color`),u,a.subtitleColor,e=>s({subtitleColor:e}))}),M(Q,{title:R(`set_sub_bg`),value:c(a.subtitleBackground),onClick:()=>s({subtitleBackground:!a.subtitleBackground})}),M(Q,{title:R(`set_auto_subs`),subtitle:R(`set_auto_subs_hint`),value:c(a.autoSubtitles),onClick:()=>s({autoSubtitles:!a.autoSubtitles})}),M(Q,{title:R(`set_remember_tracks`),value:c(a.rememberTracks),onClick:()=>s({rememberTracks:!a.rememberTracks})}),M(Km,{setDialog:r}),M(Q,{title:R(`set_aspect`),value:l(n,a.aspect),onClick:()=>o(R(`set_aspect`),n,a.aspect,e=>s({aspect:e}))}),M(Q,{title:R(`set_preview`),value:c(a.previewAutoplay),onClick:()=>s({previewAutoplay:!a.previewAutoplay})}),M(Q,{title:R(`set_auto_next`),value:c(a.autoNextEpisode),onClick:()=>s({autoNextEpisode:!a.autoNextEpisode})}),M(Q,{title:R(`set_fallback`),value:c(a.fallbackToPrevious),onClick:()=>s({fallbackToPrevious:!a.fallbackToPrevious})})]})})(),e===`look`&&M(Jm,{setDialog:r,choose:o}),e===`epg`&&(()=>{let e=[6,12,24,48].map(e=>[e,R(`set_epg_hours`,e)]),t=[];for(let e=-180;e<=180;e+=30)t.push([e,R(`set_epg_offset_value`,e)]);let n=Nc.value;return M(x,{children:[M(Q,{title:R(`set_epg_interval`),value:l(e,a.epgHours),onClick:()=>o(R(`set_epg_interval`),e,a.epgHours,e=>s({epgHours:e}))}),M(Q,{title:R(`set_epg_offset`),value:l(t,a.epgOffsetMin),onClick:()=>o(R(`set_epg_offset`),t,a.epgOffsetMin,e=>{s({epgOffsetMin:e}),n&&Hc(n,void 0,`epg`)})}),M(Q,{title:R(`set_epg_refresh`),subtitle:R(`set_epg_urls`),onClick:()=>{n&&Hc(n,void 0,`epg`)}})]})})(),e===`parental`&&M(x,{children:[Il()?M(x,{children:[M(Q,{title:R(`set_pin_change`),onClick:()=>r({kind:`pin`,title:R(`pin_enter`),check:Ll,done:()=>Hm(r)})}),M(Q,{title:R(`set_pin_remove`),onClick:()=>r({kind:`pin`,title:R(`pin_enter`),check:Ll,done:()=>{Rl(null),r({kind:`notice`,text:R(`set_pin_removed`)})}})})]}):M(Q,{title:R(`set_pin_set`),onClick:()=>Hm(r)}),M(Q,{title:R(`set_hide_locked`),value:c(a.hideLocked),onClick:()=>s({hideLocked:!a.hideLocked})}),M(Q,{title:R(`set_adult_lock`),value:c(a.adultAutoLock),onClick:()=>s({adultAutoLock:!a.adultAutoLock})}),M(`p`,{class:`set-hint`,children:R(`set_parental_hint`)})]}),e===`hidden`&&M(Ym,{}),e===`about`&&M(`div`,{class:`set-about`,children:[M(`h3`,{children:R(`app_name`)}),M(`p`,{class:`set-version`,children:R(`set_version`,`0.1.0`)}),M(`p`,{children:R(`set_about_text`)}),M(Bm,{text:R(`set_keys`)}),M(`p`,{class:`muted`,children:R(`tz_keys_text`)}),M(`p`,{class:`muted set-ua`,children:navigator.userAgent})]})]}),n&&n.kind===`menu`&&M(vn,{title:n.title,items:n.items,onClose:()=>r(null)}),n&&n.kind===`notice`&&M(Cn,{text:n.text,onClose:()=>r(null)}),n&&n.kind===`confirm`&&M(mn,{title:n.title,message:n.text,onConfirm:()=>{r(null),n.ok()},onDismiss:()=>r(null)}),n&&n.kind===`pin`&&M(xn,{title:n.title,check:n.check,onDone:e=>{r(null),n.done(e)},onClose:()=>r(null)},n.title),n&&n.kind===`text`&&M(Sn,{title:n.title,label:n.label,initial:n.initial,placeholder:n.placeholder,password:n.password,onSave:n.save,onClose:()=>r(null)})]})}function Hm(e){e({kind:`pin`,title:R(`pin_new`),check:()=>!0,done:t=>{e({kind:`pin`,title:R(`set_pin_confirm`),check:e=>e===t,done:()=>{Rl(t),e({kind:`notice`,text:R(`set_pin_saved`)})}})}})}function Um({setDialog:e}){let t=Mc.value||[],n=Nc.value,r=Pc.value,i=e=>e?new Date(e).toLocaleString(an.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`}):R(`set_never`),a=t=>{let r=[];t.id!==n&&r.push({label:R(`set_make_active`),onSelect:()=>Lc(t.id)}),r.push({label:R(`set_resync`),onSelect:()=>Hc(t.id)}),r.push({label:R(`set_edit`),onSelect:()=>o(t)}),r.push({label:R(`set_test_connection`),onSelect:async()=>{try{await Rc(t),e({kind:`notice`,text:R(`set_connection_ok`)})}catch(t){e({kind:`notice`,text:R(`error_${(t.error||`unknown`).toLowerCase()}`)})}}}),t.type===`xtream`&&r.push({label:R(`set_account`),onSelect:()=>{e({kind:`notice`,text:[t.expDate?R(`set_account_expiry`,i(t.expDate)):R(`set_account_unlimited`),t.maxConnections?R(`set_account_connections`,`?`,String(t.maxConnections)):null].filter(Boolean).join(`
|
|
14
|
-
`)})}}),r.push({label:R(`set_delete_source`),onSelect:()=>e({kind:`confirm`,title:t.name,text:R(`set_delete_confirm`,t.name),ok:()=>Gm(t.id)})}),e({kind:`menu`,title:t.name,items:r})},o=t=>{let n=(n,r,i,a,s=!1)=>({label:`${n}${r&&!s?`: ${r}`:``}`,onSelect:()=>e({kind:`text`,title:n,label:n,initial:r,password:s,save:async e=>{await K.providers.update(t.id,i(e.trim())),await Ic(),a&&Hc(t.id);let n=(Mc.peek()||[]).find(e=>e.id===t.id);n&&o(n)}})}),r=[n(R(`onb_name`),t.name,e=>({name:e||t.name}),!1)];t.type===`xtream`?r.push(n(R(`onb_server`),t.url,e=>({url:fr(e)}),!0),n(R(`onb_username`),t.username,e=>({username:e}),!0),n(R(`onb_password`),t.password,e=>({password:e}),!0,!0)):t.url.startsWith(`file:`)||r.push(n(R(`onb_url`),t.url,e=>({url:e.split(/\s+/).map(fr).filter(Boolean).join(` `)}),!0)),r.push(n(R(`onb_epg`),t.epgUrls.join(` `),e=>({epgUrls:e.split(/\s+/).map(fr).filter(Boolean)}),!0),n(R(`onb_user_agent`),t.userAgent||``,e=>({userAgent:e||null}),!1)),e({kind:`menu`,title:`${t.name} · ${R(`set_edit`)}`,items:r})};return M(x,{children:[t.map(e=>{let t=r&&r.providerId===e.id&&`stage`in r&&r.stage!==`DONE`;return M(Q,{title:`${e.name}${e.id===n?` ✓`:``}`,subtitle:`${e.type===`xtream`?`Xtream`:`M3U`} · ${t?R(`sync_title`)+`…`:R(`set_last_sync`,i(e.lastSync))}`,value:e.id===n?R(`set_active`):void 0,onClick:()=>a(e)},e.id)}),M(Q,{title:R(`set_add_source`),onClick:()=>Y.value=`onboarding`}),M(Bm,{text:R(`set_backup`)}),M(Q,{title:R(`set_backup_now`),subtitle:R(`set_backup_warning`),onClick:async()=>{try{e({kind:`notice`,text:R(`set_backup_done`,await Fm())})}catch(t){e({kind:`notice`,text:`${R(`error_storage`)} (${String(t)})`})}}}),M(Q,{title:R(`set_restore`),onClick:async()=>{let t=t=>e({kind:`confirm`,title:R(`set_restore`),text:R(`set_restore_confirm`),ok:async()=>{try{await Rm(await t()),e({kind:`notice`,text:R(`set_restore_done`)})}catch(t){e({kind:`notice`,text:`${R(`error_unknown`)} (${String(t)})`})}}}),n=(await Im()).map(e=>({label:e.name,onSelect:()=>t(()=>Lm(e.uri))}));Et||n.push({label:R(`set_restore_file`),onSelect:()=>Wm(e=>t(async()=>e))}),e(n.length?{kind:`menu`,title:R(`set_restore`),items:n}:{kind:`notice`,text:R(`set_restore_none`)})}})]})}function Wm(e){let t=document.createElement(`input`);t.type=`file`,t.accept=`.json,application/json`,t.onchange=()=>{let n=t.files&&t.files[0];n&&n.text().then(e)},t.click()}async function Gm(e){let t=[K.channels,K.movies,K.series,K.episodes,K.categories,K.programs,K.epgLinks,K.epgChannels,K.favorites,K.recents,K.progress,K.catState,K.chanState];for(let n of t)await n.where(`providerId`).equals(e).delete();await K.providers.delete(e),await Ic()}function Km({setDialog:e}){let[t,n]=N(null);P(()=>{sm().then(n)},[]);let r=t||{key:``,user:``,pass:``},i=(t,i)=>({label:i,onSelect:()=>e({kind:`text`,title:i,label:i,initial:r[t],password:t===`pass`,save:async e=>{await lm(V(V({},r),{},{[t]:e.trim()})),n(await sm())}})});return M(Q,{title:R(`os_account`),subtitle:R(`os_account_hint`),value:R(t&&t.key?`os_account_set`:`os_account_none`),onClick:()=>e({kind:`menu`,title:R(`os_account`),items:[i(`key`,R(`os_api_key`)),i(`user`,R(`os_username`)),i(`pass`,R(`os_password`))]})})}var qm={HERO:`home_hero`,CONTINUE:`shelf_continue`,UP_NEXT:`home_up_next`,FAVORITE_CHANNELS:`home_favorite_channels`,RECENT_CHANNELS:`home_recent_channels`,TONIGHT_SPORTS:`home_tonight`,SCHEDULE:`home_schedule`,PLATFORMS:`shelf_platforms`,NEW_MOVIES:`home_new_movies`,NEW_SERIES:`home_new_series`,TOP_RATED:`home_top_rated`,NEW_EPISODES:`home_new_episodes`,STARTING_SOON:`home_starting_soon`,FOR_YOU:`home_for_you`,GENRES:`home_genres`};function Jm({setDialog:e,choose:t}){let n=q.value,r=Dc,i=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1],a=[[`home`,R(`nav_home`)],[`live`,R(`nav_live`)],[`guide`,R(`nav_guide`)],[`movies`,R(`nav_movies`)],[`series`,R(`nav_series`)],[`last`,R(`start_last`)],[`firstFav`,R(`start_first_fav`)]],o=[[`GLOBAL`,R(`numbering_global`)],[`CATEGORY`,R(`numbering_category`)],[`HIDDEN`,R(`numbering_hidden`)]],s=[[`blue`,R(`accent_blue`)],[`orange`,R(`accent_orange`)],[`green`,R(`accent_green`)],[`purple`,R(`accent_purple`)],[`red`,R(`accent_red`)]],c=[[`navy`,R(`theme_navy`)],[`amoled`,R(`theme_amoled`)],[`graphite`,R(`theme_graphite`)],[`forest`,R(`theme_forest`)],[`wine`,R(`theme_wine`)]],l=[[`FAVORITE`,R(`act_favorite`)],[`AUDIO`,R(`player_audio`)],[`SUBTITLES`,R(`player_subtitles`)],[`ASPECT`,R(`player_aspect`)],[`GUIDE`,R(`player_guide`)],[`CHANNELS`,R(`pc_channels`)],[`INFO`,R(`pc_info`)],[`NONE`,R(`act_none`)]],u=n.homeShelves.filter(e=>bc.indexOf(e)>=0);return M(x,{children:[M(Q,{title:R(`set_start`),value:i(a,n.startScreen),onClick:()=>t(R(`set_start`),a,n.startScreen,e=>r({startScreen:e}))}),M(Q,{title:R(`set_numbering`),value:i(o,n.numbering),onClick:()=>t(R(`set_numbering`),o,n.numbering,e=>r({numbering:e}))}),M(Q,{title:R(`set_accent`),value:i(s,n.accent),onClick:()=>t(R(`set_accent`),s,n.accent,e=>r({accent:e}))}),M(Q,{title:R(`set_theme`),value:i(c,n.theme),onClick:()=>t(R(`set_theme`),c,n.theme,e=>r({theme:e}))}),M(Q,{title:R(`set_filter_words`),subtitle:R(`set_filter_words_hint`),value:n.filterWords.length?n.filterWords.join(`, `):R(`set_none`),onClick:()=>e({kind:`text`,title:R(`set_filter_words`),label:R(`set_filter_words`),initial:n.filterWords.join(`, `),placeholder:`[RAW], FHD, VIP`,save:e=>r({filterWords:e.split(`,`).map(e=>e.trim()).filter(Boolean)})})}),M(Q,{title:R(`home_edit`),subtitle:R(`set_home_shelves`),value:`${u.length} / ${bc.length}`,onClick:()=>sd({name:`homeEdit`})}),M(Bm,{text:R(`set_color_keys`)}),[`key_red`,`key_green`,`key_yellow`,`key_blue`].map((e,a)=>M(Q,{title:R(e),value:i(l,n.colorKeys[a]),onClick:()=>t(R(e),l,n.colorKeys[a],e=>{let t=n.colorKeys.slice();t[a]=e,r({colorKeys:t})})},e)),M(Q,{title:R(`set_language`),value:an.value===`tr`?`Türkçe`:`English`,onClick:()=>t(R(`set_language`),[[`tr`,`Türkçe`],[`en`,`English`]],an.value,on)})]})}function Ym(){let e=Nc.value,[t,n]=N([]),[r,i]=N([]),a=async()=>{let[t,r]=await Promise.all([K.catState.where(`providerId`).equals(e).filter(e=>!!e.hidden).toArray(),K.chanState.where(`providerId`).equals(e).filter(e=>!!e.hidden).toArray()]);n((await K.categories.bulkGet(t.map(e=>e.id))).filter(e=>!!e)),i((await K.channels.bulkGet(r.map(e=>e.id))).filter(e=>!!e).sort((e,t)=>e.number-t.number))};return P(()=>{a()},[e]),!t.length&&!r.length?M(`p`,{class:`set-hint`,children:R(`set_hidden_none`)}):M(x,{children:[t.length>0&&M(Bm,{text:R(`set_hidden_categories`)}),t.map(t=>M(Q,{title:t.name,value:R(`set_unhide`),onClick:async()=>{await Nl(t.id,e,{hidden:!1}),a()}},t.id)),r.length>0&&M(Bm,{text:R(`set_hidden_channels`)}),r.map(t=>M(Q,{title:`${t.number} ${t.name}`,value:R(`set_unhide`),onClick:async()=>{await Pl(t.id,e,{hidden:!1}),await El(e),a()}},t.id))]})}function Xm(){let e=q.value.homeShelves.filter(e=>bc.indexOf(e)>=0),t=bc.filter(t=>e.indexOf(t)<0),[n,r]=N(null),[i,a]=N(null),o=F(null);P(()=>{L(o.current)},[]),P(()=>{if(!i||!o.current)return;let e=o.current.querySelector(`[data-he="${i}"]`);e&&e.focus(),a(null)});let s=e=>Dc({homeShelves:e});Wt(t=>{if(n){if(t===`up`||t===`down`){let r=e.indexOf(n),i=r+(t===`up`?-1:1);if(i>=0&&i<e.length){let t=e.slice();t[r]=t[i],t[i]=n,s(t),a(`row-${n}`)}return!0}return(t===`ok`||t===`back`)&&r(null),!0}});let c=t=>{s(e.indexOf(t)>=0?e.filter(e=>e!==t):[...e,t]),a(`sw-${t}`)},l=(i,a)=>{let o=a!==null,s=a===1||!e.length&&i===t[0];return M(`div`,{class:`he-row${n===i?` moving`:``}`,children:[M(`button`,{class:`focus-row he-main`,"data-focus":!0,"data-focus-default":s||void 0,"data-he":`row-${i}`,onClick:()=>o&&r(n===i?null:i),children:[M(`span`,{class:`he-num`,children:o?`${a}.`:``}),M(`span`,{class:`he-label`,children:R(qm[i])}),n===i&&M(`span`,{class:`he-moving`,children:R(`home_edit_moving`)})]}),M(`button`,{class:`he-switch${o?` on`:``}`,"data-focus":!0,"data-he":`sw-${i}`,onClick:()=>c(i),children:R(o?`set_on`:`set_off`)})]},i)};return M(`div`,{class:`home-edit`,ref:o,children:[M(`div`,{class:`he-head`,children:[M(`h1`,{children:R(`home_edit`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>{r(null),s(bc)},children:R(`home_edit_reset`)})]}),M(`p`,{class:`he-hint`,children:R(`home_edit_hint`)}),M(`div`,{class:`he-list`,children:[e.map((e,t)=>l(e,t+1)),t.length>0&&M(`h3`,{class:`set-header`,children:R(`home_edit_hidden`)}),t.map(e=>l(e,null))]})]})}var $=(e,t)=>e&&typeof e[t]==`string`&&e[t].trim()||null,Zm=(e,t)=>{let n=e&&e[t],r=typeof n==`number`?n:parseFloat(String(n));return isFinite(r)?r:null};function Qm(e){let t=e.trim().replace(/^stremio:\/\//i,`https://`);return/manifest\.json$/i.test(t)||(t=`${t.replace(/\/+$/,``)}/manifest.json`),t}async function $m(e){let t=await fetch(dr(e),{credentials:`omit`});if(!t.ok)throw Error(`HTTP ${t.status}`);return t.json()}var eh=new Map;function th(e){let t=eh.get(e);return t||(t=$m(e).then(t=>nh(e,t)),t.catch(()=>eh.delete(e)),eh.set(e,t)),t}function nh(e,t){let n=e=>Array.isArray(t[e])?t[e]:[],r=n(`catalogs`).map(e=>e).filter(e=>{let t=Array.isArray(e.extra)?e.extra:[],n=Array.isArray(e.extraRequired)?e.extraRequired:[];return!t.some(e=>e.isRequired===!0)&&!n.length&&$(e,`type`)&&$(e,`id`)}).map(e=>({type:$(e,`type`),id:$(e,`id`),name:$(e,`name`)||$(e,`id`)})),i=n(`idPrefixes`).filter(e=>typeof e==`string`),a=e;try{a=new URL(e).host}catch(e){}return{url:e,base:e.replace(/\/manifest\.json$/i,``),id:$(t,`id`)||e,name:$(t,`name`)||a,logo:$(t,`logo`),types:n(`types`).filter(e=>typeof e==`string`),idPrefixes:i.length?i:null,resources:n(`resources`).map(e=>typeof e==`string`?e:$(e,`name`)).filter(e=>!!e),catalogs:r}}var rh=(e,t,n,r)=>e.resources.indexOf(t)>=0&&e.types.indexOf(n)>=0&&(!e.idPrefixes||e.idPrefixes.some(e=>r.startsWith(e))),ih=e=>encodeURIComponent(e).replace(/\+/g,`%20`),ah=e=>({id:$(e,`id`)||``,type:$(e,`type`)||`movie`,name:$(e,`name`)||``,poster:$(e,`poster`),rating:Zm(e,`imdbRating`)});async function oh(e,t){let n=await $m(`${e.base}/catalog/${ih(t.type)}/${ih(t.id)}.json`);return(Array.isArray(n.metas)?n.metas:[]).map(ah).filter(e=>e.id&&e.name)}async function sh(e,t,n){for(let r of e)try{let e=await th(r);if(!rh(e,`meta`,t,n))continue;let i=(await $m(`${e.base}/meta/${ih(t)}/${ih(n)}.json`)).meta;if(!i)continue;let a=Array.isArray(i.genres)?i.genres:Array.isArray(i.genre)?i.genre:[],o=(Array.isArray(i.videos)?i.videos:[]).map(e=>({id:$(e,`id`)||``,title:$(e,`title`)||$(e,`name`)||``,season:Zm(e,`season`)||0,episode:Zm(e,`episode`)||Zm(e,`number`)||0,thumbnail:$(e,`thumbnail`)})).filter(e=>e.id);return V(V({},ah(i)),{},{type:$(i,`type`)||t,background:$(i,`background`),description:$(i,`description`),releaseInfo:$(i,`releaseInfo`)||(Zm(i,`year`)?String(Zm(i,`year`)):null),genres:a,videos:o})}catch(e){console.warn(`stremio meta`,r,e)}return null}async function ch(e,t,n){let r=await Promise.all(e.map(async e=>{try{let r=await th(e);if(!rh(r,`stream`,t,n))return[];let i=await $m(`${r.base}/stream/${ih(t)}/${ih(n)}.json`);return(Array.isArray(i.streams)?i.streams:[]).filter(e=>/^https?:\/\//i.test($(e,`url`)||``)).map(e=>({url:$(e,`url`),name:($(e,`name`)||r.name).replace(/\n/g,` `),title:$(e,`title`)||$(e,`description`)}))}catch(t){return console.warn(`stremio stream`,e,t),[]}}));return[].concat(...r)}var lh=(e,t)=>({key:`${e.type}:${e.id}`,id:t,title:e.name,poster:e.poster,rating:e.rating}),uh=e=>e===`movie`?R(`nav_movies`):e===`series`?R(`nav_series`):e;function dh(){let e=q.value.stremioAddons,[t,n]=N([]),[r,i]=N([]),[a,o]=N(!1),[s,c]=N(!1),[l,u]=N(null);P(()=>{let t=!0;return i([]),(async()=>{let r=[];for(let t of e)try{r.push(await th(t))}catch(e){}if(t){n(r);for(let e of r)for(let n of e.catalogs)try{let r=await oh(e,n);if(!t)return;r.length&&i(t=>[...t,{key:`${e.url}|${n.type}|${n.id}`,title:`${n.name} · ${uh(n.type)} · ${e.name}`,items:r}])}catch(e){}}})(),()=>{t=!1}},[e.join(`
|
|
15
|
-
`)]);let d=async t=>{let n=Qm(t);try{await th(n),e.indexOf(n)<0&&Dc({stremioAddons:[...e,n]}),o(!1),c(!1)}catch(e){c(!0)}};return M(`div`,{class:`extensions`,children:[M(`h2`,{class:`shelf-title`,children:R(`ext_installed`)}),M(`div`,{class:`shelf-row ext-row`,"data-focus-group":`ext-addons`,children:[M(`button`,{class:`chip ext-add`,"data-focus":!0,"data-focus-default":!e.length||void 0,onClick:()=>{c(!1),o(!0)},children:[M(z,{name:`add`}),R(`ext_add`)]}),t.map(e=>M(`button`,{class:`chip ext-chip`,"data-focus":!0,onClick:()=>u(e),children:[e.logo&&M(`img`,{src:e.logo,alt:``}),e.name]},e.url))]}),M(`p`,{class:`ext-note muted`,children:R(e.length?`ext_note`:`ext_empty`)}),r.map(e=>M(Ad,{title:e.title,info:!0,children:e.items.map((e,t)=>M(xd,{card:lh(e,t),onClick:()=>sd({name:`stremio`,type:e.type,id:e.id})},`${e.type}:${e.id}`))},e.key)),a&&M(Sn,{title:R(`ext_add`),label:R(s?`ext_failed`:`ext_url`),initial:``,placeholder:`https://…/manifest.json`,onSave:e=>{e.trim()&&(o(!0),d(e))},onClose:()=>o(!1)}),l&&M(mn,{title:l.name,message:R(`ext_remove`),confirmLabel:R(`ext_remove`),onConfirm:()=>{Dc({stremioAddons:e.filter(e=>e!==l.url)}),u(null)},onDismiss:()=>u(null)})]})}function fh({type:e,id:t}){let n=q.value.stremioAddons,[r,i]=N(void 0),[a,o]=N(1),[s,c]=N(null),l=F(null);Wt(e=>{if(e===`back`)return cd(),!0}),P(()=>{let r=!0;return sh(n,e,t).then(e=>{if(!r)return;i(e);let t=e?e.videos.map(e=>e.season).filter(e=>e>0):[];t.length&&o(Math.min(...t)),setTimeout(()=>L(l.current),0)}),()=>{r=!1}},[e,t]);let u=async(t,r)=>{c({title:r,list:null});let i=await ch(n,e,t);c({title:r,list:i.map(e=>({label:e.title?`${e.name} · ${e.title}`:e.name,onSelect:()=>sd({name:`stream`,url:e.url,title:r})}))})};if(r===void 0)return M(`div`,{class:`detail`,children:M(`div`,{class:`player-center`,children:M(`div`,{class:`spinner`})})});if(r===null)return M(`div`,{class:`detail`,ref:l,children:M(`div`,{class:`detail-scroll`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:cd,children:[M(z,{name:`back`}),R(`back`)]}),M(`p`,{class:`empty`,children:R(`empty_list`)})]})});let d=Array.from(new Set(r.videos.map(e=>e.season))).sort((e,t)=>e-t),f=r.videos.filter(e=>e.season===a).sort((e,t)=>e.episode-t.episode),p=e=>e<10?`0${e}`:`${e}`;return M(`div`,{class:`detail`,ref:l,children:[M(Bp,{src:r.background||r.poster}),M(`div`,{class:`detail-scroll series`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:cd,children:[M(z,{name:`back`}),R(`back`)]}),M(`div`,{class:`detail-row`,children:[M(`div`,{class:`detail-poster`,children:r.poster&&M(`img`,{src:r.poster,alt:``})}),M(`div`,{class:`detail-info`,children:[M(`h1`,{children:r.name}),M(Vp,{chips:[r.releaseInfo,r.rating?`★ ${r.rating}`:null,r.genres.slice(0,3).join(`, `)]}),r.description&&M(`p`,{class:`detail-plot`,children:r.description}),!r.videos.length&&M(`div`,{class:`detail-actions`,children:M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:()=>u(r.id,r.name),children:R(`ext_find_sources`)})})]})]}),r.videos.length>0&&M(x,{children:[d.length>1?M(`div`,{class:`season-chips`,children:d.map(e=>M(`button`,{class:`chip${e===a?` selected`:``}`,"data-focus":!0,onClick:()=>o(e),children:e===0?R(`ext_specials`):R(`vod_season`,e)},e))}):M(`div`,{class:`season-gap`}),M(`div`,{class:`episode-list`,"data-focus-group":`episodes`,children:f.map((e,t)=>M(`button`,{class:`episode-row focus-row`,"data-focus":!0,"data-focus-default":t===0||void 0,onClick:()=>u(e.id,`${r.name} · S${p(e.season)}E${p(e.episode)}`),children:[M(`span`,{class:`ep-thumb`,children:(e.thumbnail||r.poster)&&M(dn,{src:e.thumbnail||r.poster})}),M(`span`,{class:`ep-text`,children:M(`span`,{class:`ep-title`,children:R(`vod_episode_title`,e.episode,e.title)})})]},e.id))})]})]}),s&&(s.list===null?M(`div`,{class:`scrim`,children:M(`div`,{class:`menu-dialog`,children:[M(`h2`,{children:R(`ext_sources`)}),M(`div`,{class:`spinner`})]})}):M(vn,{title:R(`ext_sources`),items:s.list.length?s.list:[{label:R(`ext_no_sources`),onSelect:()=>{}}],onClose:()=>c(null)}))]})}function ph(){let[e,t]=N(null),[n,r]=N(null),i=F(null),a=Uu.value;P(()=>{K.reminders.orderBy(`start`).toArray().then(e=>{t(e),setTimeout(()=>{document.activeElement===document.body&&L(i.current)},0)})},[a]);let o=e=>new Date(e).toLocaleDateString(an.value===`tr`?`tr-TR`:`en-GB`,{weekday:`short`,day:`numeric`,month:`short`}),s=async e=>{let t=await Vl(e.providerId,{type:`all`}),n=t.indexOf(e.channelId);n>=0&&fd(t,n)};return M(`div`,{class:`recordings`,ref:i,children:[M(`div`,{class:`row rec-tabs`,children:M(`span`,{class:`chip selected`,children:R(`rec_tab_scheduled`)})}),M(`p`,{class:`muted rec-note`,children:R(`tz_rec_note`)}),e&&!e.length&&M(`p`,{class:`empty`,children:R(`rec_scheduled_empty`)}),M(`div`,{class:`rec-list`,children:(e||[]).map(e=>M(`button`,{class:`focus-row rec-row`,"data-focus":!0,onClick:()=>r({title:e.title,items:[{label:R(`home_open_channel`),onSelect:()=>s(e)},{label:R(`guide_remind_off`),onSelect:()=>qu(e.id)}]}),children:[M(`span`,{class:`opt-text`,children:[M(`span`,{class:`opt-label`,children:e.title}),M(`span`,{class:`muted`,children:`${e.channelName} · ${o(e.start)} ${_l(e.start)}${e.stop?`–${_l(e.stop)}`:``}`})]}),e.repeat?M(`span`,{class:`rec-repeat`,children:R(e.repeat===1?`rec_repeat_daily`:`rec_repeat_weekly`)}):null]},e.id))}),n&&M(vn,{title:n.title,items:n.items,onClose:()=>r(null)})]})}var mh=ws(`[^LETTER0-9]+`,`g`),hh=e=>e.toLowerCase().split(mh).filter(Boolean),gh=(e,t)=>t.every(t=>e.some(e=>e.startsWith(t)));function _h(e,t){let n=e.toLowerCase();return n===t?0:n.startsWith(t)?1:n.indexOf(t)>=0?2:3}var vh=null,yh=40,bh=null,xh=e=>!!(wl.value.get(e.id)||{}).hidden||Dl(e);async function Sh(e,t){if(bh&&bh.stamp===t)return bh;let n=t=>{let n=[];return t.where(`providerId`).equals(e).each(e=>{n.push({id:e.id,name:e.name,categoryId:e.categoryId,w:hh(e.name)})}).then(()=>n)},[r,i,a,o]=await Promise.all([n(K.channels),n(K.movies),n(K.series),K.categories.where(`providerId`).equals(e).toArray()]);return bh={stamp:t,live:r,movie:i,series:a,blocked:new Set(o.filter(xh).map(e=>e.id))},bh}function Ch(e,t,n,r){let i=[];for(let n of e)n.categoryId!==null&&r.has(n.categoryId)||gh(n.w,t)&&i.push(n);return i.sort((e,t)=>_h(e.name,n)-_h(t.name,n)||e.name.length-t.name.length).slice(0,yh)}async function wh(e,t,n){let r=n.trim().toLowerCase(),i=hh(r);if(r.length<2||!i.length)return null;let a=await Sh(e,t),o=await Th(e,t),s=Date.now()-216e5,c=[];for(let e of o.list)if(e.stop>s&&gh(e.w,i)&&c.push(e.id),c.length>=400)break;let l=(await K.programs.bulkGet(c)).filter(e=>!!e).sort((e,t)=>e.start-t.start),u=await K.epgLinks.where(`providerId`).equals(e).toArray(),d=new Map;for(let e of u)d.has(e.key)||d.set(e.key,e.id);let f=new Map(a.live.map(e=>[e.id,e])),p=[];for(let e of l){let t=f.get(d.get(e.key)||-1);if(!(!t||t.categoryId!==null&&a.blocked.has(t.categoryId))&&(p.push({program:e,channelId:t.id}),p.length>=yh))break}return{channels:Ch(a.live,i,r,a.blocked),movies:Ch(a.movie,i,r,a.blocked),series:Ch(a.series,i,r,a.blocked),programs:p}}async function Th(e,t){if(vh&&vh.stamp===t&&Date.now()-vh.at<36e5)return vh;let n=Date.now()-216e5,r=[];return await K.programs.where(`providerId`).equals(e).each(e=>{e.stop>n&&r.push({id:e.id,start:e.start,stop:e.stop,w:hh(e.title)})}),vh={stamp:t,at:Date.now(),list:r},vh}function Eh(e){let t=e.trim();t.length<2||Dc({searchHistory:[t,...(q.peek().searchHistory||[]).filter(e=>e.toLowerCase()!==t.toLowerCase())].slice(0,12)})}function Dh(){let e=Nc.value,t=(Mc.value||[]).find(t=>t.id===e),n=`${t&&t.lastSync||0}|${t&&t.lastEpgSync||0}`,[r,i]=N(``),[a,o]=N(null),s=F(null),c=q.value.searchHistory||[];P(()=>{setTimeout(()=>L(s.current),0)},[]),P(()=>{let t=!0,i=setTimeout(async()=>{let i=await wh(e,n,r);if(!t)return;if(!i)return o(null);let[a,s,c,l]=await Promise.all([K.channels.bulkGet(i.channels.map(e=>e.id)),K.movies.bulkGet(i.movies.map(e=>e.id)),K.series.bulkGet(i.series.map(e=>e.id)),K.channels.bulkGet(i.programs.map(e=>e.channelId))]);t&&o({channels:a.filter(e=>!!e),movies:s.filter(e=>!!e),series:c.filter(e=>!!e),programs:i.programs.map((e,t)=>({program:e.program,channel:l[t]})).filter(e=>!!e.channel)})},300);return()=>{t=!1,clearTimeout(i)}},[r,e,n]);let l=()=>Eh(r),u=async(t,n)=>{l();let r=await Vl(e,{type:`all`}),i=r.indexOf(t);i>=0&&fd(r,i,n)},d=a&&!a.channels.length&&!a.movies.length&&!a.series.length&&!a.programs.length,f=Date.now(),p=e=>`${new Date(e).toLocaleDateString(an.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`})} ${_l(e)}`;return M(`div`,{class:`search`,ref:s,children:[M(`div`,{class:`search-row`,children:M(pn,{label:R(`nav_search`),value:r,onInput:i,placeholder:R(`search_hint`),initial:!0,class:`search-field`})}),!a&&c.length>0&&M(`section`,{class:`shelf`,children:[M(`h2`,{class:`shelf-title`,children:R(`search_recent`)}),M(`div`,{class:`shelf-row history-row`,"data-focus-group":`search-history`,children:[c.map(e=>M(`button`,{class:`chip`,"data-focus":!0,onClick:()=>i(e),children:e},e)),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>Dc({searchHistory:[]}),children:R(`search_clear`)})]})]}),d&&M(`p`,{class:`search-empty`,children:R(`search_no_results`,r.trim())}),a&&a.channels.length>0&&M(Ad,{title:R(`search_channels`),children:a.channels.map(e=>M(Bd,{cc:{channel:e,now:null},onClick:()=>u(e.id),onLongPress:()=>{}},e.id))}),a&&a.movies.length>0&&M(Ad,{title:R(`search_movies`),info:!0,children:a.movies.map(e=>{let t=fu(e);return M(xd,{card:t,onClick:()=>{l(),sd({name:`movie`,id:e.id})}},t.key)})}),a&&a.series.length>0&&M(Ad,{title:R(`search_series`),children:a.series.map(e=>{let t=fu(e);return M(Sd,{card:t,onClick:()=>{l(),sd({name:`series`,id:e.id})}},t.key)})}),a&&a.programs.length>0&&M(`section`,{class:`search-programs`,children:[M(`h2`,{class:`shelf-title`,children:R(`search_programs`)}),a.programs.map(({program:e,channel:t})=>M(`button`,{class:`focus-row opt-row search-prog`,"data-focus":!0,onClick:()=>u(t.id,e.stop<f?e:void 0),children:[M(Xu,{src:t.logo,size:30}),M(`span`,{class:`opt-text`,children:[M(`span`,{class:`opt-label`,children:e.title}),M(`span`,{class:`muted`,children:t.name})]}),M(`span`,{class:`sp-time${e.start<=f&&e.stop>f?` live`:``}`,children:p(e.start)})]},e.id))]})]})}function Oh(e){let{program:t,channel:n}=e,r=F(null),i=F(document.activeElement);P(()=>(L(r.current),()=>i.current&&i.current.isConnected&&i.current.focus()),[]),Wt(t=>t===`back`?(e.onClose(),!0):`default`);let a=Date.now(),o=new Date(t.start).toLocaleDateString(an.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`long`}),s=[],c=Uf(n,t.start,a);return t.start<=a&&t.stop>a?(s.push([R(`guide_watch`),e.onWatch]),c&&s.push([R(`guide_restart`),e.onArchive])):t.stop<=a&&c&&s.push([R(`guide_watch_archive`),e.onArchive]),t.start>a&&(s.push([R(Uu.value.has(t.id)?`guide_remind_off`:`guide_remind`),async()=>{B(R(await Ku(t,n)?`guide_reminder_set`:`guide_reminder_removed`))}]),s.push([R(`tz_remind_daily`),async()=>{await Ku(t,n,1),B(R(`guide_reminder_set`))}]),s.push([R(`tz_remind_weekly`),async()=>{await Ku(t,n,2),B(R(`guide_reminder_set`))}])),s.push([R(`guide_close`),()=>{}]),M(`div`,{class:`scrim`,"data-focus-scope":!0,children:M(`div`,{class:`program-dialog`,ref:r,role:`dialog`,children:[M(`h2`,{children:t.title}),M(`p`,{class:`pd-meta`,children:`${n.name} · ${o} ${_l(t.start)} – ${_l(t.stop)}`}),t.category&&M(`p`,{class:`pd-cat`,children:t.category}),t.desc&&M(`p`,{class:`pd-desc`,children:t.desc}),M(`div`,{class:`row pd-buttons`,children:s.map(([t,n],r)=>M(`button`,{class:`btn ${r===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":r===0||void 0,onClick:()=>{e.onClose(),n()},children:t},t))})]})})}var kh=I(null),Ah=864e5;function jh({onOpenPlayer:e,onSearch:t}){let n=Nc.value,r=kh.value||{filter:{type:`all`},label:R(`cat_all`)},[i,a]=N(null),[o,s]=N([]),[c,l]=N(op(Date.now())),[u,d]=N(null),[f,p]=N(null),m=q.value;P(()=>{K.categories.where(`[providerId+kind]`).equals([n,`live`]).sortBy(`order`).then(s)},[n]),P(()=>{let e=!0;return a(null),Vl(n,r.filter).then(t=>e&&a(t)),()=>{e=!1}},[n,JSON.stringify(r.filter)]);let h=ke(()=>i?new Ul(i):null,[i]),g=(t,n)=>{i&&e(i,t,n)};return M(`div`,{class:`guide`,children:[M(`div`,{class:`guide-head`,children:[M(`h1`,{children:new Date(c).toLocaleDateString(an.value===`tr`?`tr-TR`:`en-GB`,{weekday:`long`,day:`numeric`,month:`long`})}),M(`div`,{class:`row`,children:[M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>d({title:R(`guide_category`,r.label),items:[{label:R(`cat_all`),filter:{type:`all`}},{label:R(`cat_favorites`),filter:{type:`fav`}},...o.map(e=>({label:e.name,filter:{type:`cat`,id:e.id}}))].map(e=>({label:e.label,checked:JSON.stringify(e.filter)===JSON.stringify(r.filter),onSelect:()=>kh.value={filter:e.filter,label:e.label}}))}),children:R(`guide_category`,r.label)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(c-Ah),children:R(`guide_prev_day`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(op(Date.now())),children:R(`guide_now`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(c+Ah),children:R(`guide_next_day`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:t,children:R(`guide_search`)})]})]}),i&&!i.length?M(`p`,{class:`empty`,children:R(`live_empty_category`)}):h&&M(cp,{pager:h,count:i.length,initialRow:0,rowRem:6,winStart:c,setWinStart:l,numberOf:(e,t)=>m.numbering===`HIDDEN`?null:m.numbering===`CATEGORY`?t+1:e.number,onChannel:(e,t)=>g(t),onProgram:(e,t,n)=>p({p:e,c:t,row:n})},JSON.stringify(r.filter)),M(`p`,{class:`guide-hint`,children:R(`guide_hint`)}),u&&M(vn,{title:u.title,items:u.items,onClose:()=>d(null)}),f&&M(Oh,{program:f.p,channel:f.c,onClose:()=>p(null),onWatch:()=>g(f.row),onArchive:()=>g(f.row,f.p)})]})}var Mh=[{id:`home`,label:`nav_home`},{id:`live`,label:`nav_live`},{id:`guide`,label:`nav_guide`},{id:`movies`,label:`nav_movies`},{id:`series`,label:`nav_series`},{id:`recordings`,label:`nav_recordings`},{id:`extensions`,label:`nav_extensions`},{id:`search`,label:`nav_search`,icon:`search`},{id:`settings`,label:`nav_settings`,icon:`settings`}],Nh=I(!1),Ph=null,Fh=e=>{if(e===`back`&&od.value.length)return cd();e===`back`&&Ph&&Ph.isConnected&&(Ph&&!Ph.contains(document.activeElement)?L(Ph):Y.value===`home`?Nh.value=!0:Y.value=`home`)};async function Ih(){let e=Hu.value;Hu.value=null,Nc.peek()!==e.providerId&&Lc(e.providerId);let t=await Vl(e.providerId,{type:`all`}),n=t.indexOf(e.channelId);n<0||fd(t,n)}var Lh=!1;function Rh({active:e}){let t=F(null);return P(()=>{Ph=t.current,Lh||(Lh=!0,L(Ph))},[]),M(`header`,{class:`topbar glass`,children:[M(`span`,{class:`brand`,children:R(`app_name`)}),M(`nav`,{class:`pills`,ref:t,"data-focus-group":`menu`,children:Mh.map(t=>{let n=t.id===(e||Y.value);return M(`button`,{class:`pill${n?` selected`:``}${t.icon?` icon-only`:``}`,"data-focus":!0,"data-focus-default":n||void 0,"aria-label":R(t.label),onClick:()=>{od.value=[],Y.value=t.id},children:t.icon?M(z,{name:t.icon}):R(t.label)},t.id)})})]})}function zh(e){switch(e.name){case`browse`:return M(Fp,{kind:e.kind,title:e.title,filter:e.filter});case`movie`:return M(Gp,{id:e.id});case`series`:return M(qp,{id:e.id,season:e.season});case`vod`:return M(wm,{kind:e.kind,id:e.id,seriesId:e.seriesId,startMs:e.startMs});case`epgmap`:return M(km,{channelId:e.channelId});case`homeEdit`:return M(Xm,{});case`stream`:return M(wm,{kind:`stream`,id:0,url:e.url,title:e.title});case`stremio`:return M(fh,{type:e.type,id:e.id})}}function Bh(){let e=od.value,t=Mh.find(e=>e.id===Y.value)||Mh[0],n=Mc.value,r=n!==null&&(Y.value===`onboarding`||!n.length),i=e.length?e[e.length-1].page:null,a=i&&i.name===`browse`?i:null;return M(`div`,{class:`app`,children:[M(Ap,{}),n===null?null:r?M(Gc,{onDone:()=>Y.value=`home`,onExit:()=>n.length?Y.value=`home`:Nh.value=!0}):Y.value===`player`?M(xp,{onExit:pd},rd.value?rd.value.seq:0):M(x,{children:[(!e.length||a)&&M(Rh,{active:a?a.kind===`movie`?`movies`:`series`:void 0}),M(`main`,{style:e.length?{display:`none`}:void 0,class:`content${Y.value===`live`||Y.value===`guide`?` live-content`:``}`,"data-focus-group":`screen-${Y.value}`,children:Y.value===`home`?M(Id,{providerId:Nc.value}):Y.value===`live`?M(jf,{onOpenPlayer:(e,t)=>fd(e,t)}):Y.value===`guide`?M(jh,{onOpenPlayer:(e,t,n)=>fd(e,t,n),onSearch:()=>Y.value=`search`}):Y.value===`search`?M(Dh,{}):Y.value===`settings`?M(Vm,{}):Y.value===`movies`?M(Nd,{kind:`movie`}):Y.value===`series`?M(Nd,{kind:`series`}):Y.value===`extensions`?M(dh,{}):Y.value===`recordings`?M(ph,{}):M(wn,{title:R(t.label)})}),e.map((t,n)=>M(`div`,{class:t.page.name===`browse`?`page-flow`:`page`,style:n<e.length-1?{display:`none`}:void 0,children:zh(t.page)},n))]}),M(_n,{}),Hu.value&&M(mn,{title:R(`tz_reminder_title`,Hu.value.title),message:R(`tz_reminder_text`,Hu.value.channelName),confirmLabel:R(`guide_watch`),onConfirm:()=>Ih(),onDismiss:()=>Hu.value=null}),Nh.value&&M(mn,{title:R(`exit_title`),message:R(`exit_message`),onConfirm:Ot,onDismiss:()=>Nh.value=!1})]})}Dt(),jc(),mf(document.getElementById(`video`)),Yu(),Qt(Fh),ue(M(Bh,{}),document.getElementById(`app`)),Ic().then(async e=>{new URLSearchParams(location.search),e.length?(zc(),Vh()):Y.value=`onboarding`});async function Vh(){let e=q.peek().startScreen,t=Nc.peek();if(e===`last`||e===`firstFav`){if(!t)return;let n=await Vl(t,{type:e===`last`?`all`:`fav`}),r=e===`last`?n.indexOf(q.peek().lastChannelId||-1):0;n.length&&r>=0&&fd(n,r)}else Y.value=e}})();
|