@erhan/utopyatv 0.1.14 → 0.1.15
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-HaOyrWw_.js +15 -0
- package/app/index.html +2 -2
- package/package.json +1 -1
- package/app/assets/index-B-WH3SLO.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.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{z-index:30;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-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}.error-card .error-detail{color:var(--on-surface-variant);margin-top:-1.2rem;font-size:1.2rem;font-weight:400}.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-all{color:var(--on-surface-variant);white-space:pre;background:0 0;border-radius:99rem;margin-left:1rem;padding:.4rem 1.2rem;font-size:1.3rem;font-weight:500}.shelf-all:focus{background:var(--on-bg);color:var(--surface)}.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}.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-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}.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}.access-form>.muted{margin:0 0 2.4rem;font-size:1.8rem}.access-form .connect{align-self:flex-start;margin:1.2rem 0 1.6rem}.topbar.glass{background:0 0;border:0;border-bottom:.05rem solid rgba(163,177,201,.22);border-radius:0;min-height:4rem;margin:2.4rem 3.2rem 0;padding:0 0 1.2rem}.brand{-webkit-text-fill-color:var(--on-bg);background:0 0;flex:none;margin-right:3.6rem;font-size:2rem}.pills{flex:1}.pill{border:0;border-radius:.5rem;margin-left:.5rem;padding:.8rem 1rem;font-size:1.5rem}.pill.selected{box-shadow:inset 0 -.15rem var(--accent);background:0 0;border:0}.pill:focus{background:var(--surface-variant);color:var(--on-bg);outline:.15rem solid var(--accent);outline-offset:.1rem}.pill.icon-only{align-items:center;padding:.8rem;display:flex}.pill.icon-only .icon{width:1.7rem;height:1.7rem;margin-right:.5rem}.pill.icon-only:first-of-type{margin-left:auto}.content,.page-flow{padding:2rem 3.2rem 1.2rem}.content{flex:1;min-height:0}.ux-eyebrow{color:var(--accent);letter-spacing:.16rem;text-transform:uppercase;font-size:1.05rem;display:block}.focus-row:focus,.library-card:focus,.resume-channel:focus{outline:.15rem solid var(--accent);outline-offset:.05rem;background:var(--surface-variant);transform:none}.focus-row{border-radius:.5rem}.live-screen>*+*{margin-left:1.6rem}.live-cats,.live-cats.wide{background:0 0;border:0;border-right:.05rem solid rgba(163,177,201,.22);border-radius:0;width:15rem;padding:.6rem .8rem .6rem 0}.live-channels{background:0 0;border:0;padding:.6rem .4rem}.live-preview{border:0;border-radius:0;width:31rem;padding:.6rem .4rem .6rem 1rem}.live-preview .preview-box{height:16.65rem;box-shadow:0 0 0 100rem var(--bg);border-radius:.6rem}.live-list-title{min-height:4.5rem;padding-right:7rem;position:relative}.live-list-title>button{padding:.4rem .6rem;font-size:1.1rem;position:absolute;top:.3rem;right:0}.group-mode{padding:.5rem .8rem}.gm-title,.panel-title h2{font-size:1.6rem;font-weight:700}.gm-value,.panel-title span{font-size:1.1rem}.cat-row{min-height:3.5rem;font-size:1.3rem}.cat-row.selected{background:rgba(var(--accent-rgb),.12);border-left:.15rem solid var(--accent)}.channel-row{height:5.6rem}.ch-number{width:1.8rem;font-size:1.15rem}.ch-logo-box{background:0 0;border-radius:.4rem;width:4.4rem;height:3.2rem}.ch-name{font-size:1.45rem;font-weight:600}.ch-program{font-size:1.15rem}.channel-row.idle{background:0 0}.channel-row.selected{background:rgba(var(--accent-rgb),.1)}.logo-fallback{color:var(--on-surface-variant);background:var(--surface-variant);border-radius:.4rem;justify-content:center;align-items:center;width:100%;height:100%;padding:.3rem;font-size:1rem;font-weight:700;display:flex}.pb-desc{-webkit-line-clamp:3}.ux-home .home-head{margin:0 1.2rem 1.2rem;padding:0}.ux-home .home-head h1{margin-top:.65rem;font-size:2.5rem}.ux-home .home-shelves{overflow:auto}.ux-home .home-list{transition:none}.resume-row{margin:.5rem 1.2rem 1.6rem;display:flex}.resume-row>*{flex:1;min-width:0}.resume-row>*+*{margin-left:1.6rem}.resume-channel{text-align:left;background:var(--surface);border-radius:.7rem;flex-direction:column;align-items:flex-start;min-height:13rem;padding:1.6rem;display:flex;position:relative}.resume-channel>.channel-logo{opacity:.9;position:absolute;top:3rem;right:1.5rem}.resume-channel>strong{white-space:nowrap;text-overflow:ellipsis;max-width:74%;margin:1rem 0 .6rem;font-size:2rem;overflow:hidden}.resume-channel>.muted{white-space:nowrap;text-overflow:ellipsis;max-width:74%;font-size:1.3rem;overflow:hidden}.resume-play{color:var(--accent);margin-top:auto;padding-top:1rem;font-size:1.3rem;font-weight:600;display:inline-block}.resume-vod{position:relative}.resume-vod>.ux-eyebrow{z-index:2;color:#fff;text-shadow:0 1px 4px #000;position:absolute;top:1rem;left:1.4rem}.resume-vod .wide-card{width:100%;height:100%;min-height:13rem}.ux-home .hero2-bg{z-index:0;width:100%;height:100%;position:absolute;-webkit-mask-image:none;mask-image:none}.ux-home .hero2-bg:after{content:"";background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.65) 45%,transparent);position:absolute;top:0;bottom:0;left:0;right:0}.ux-home .hero2-info{z-index:1;justify-content:center;width:65%;padding:1.6rem;position:relative}.hero2-kind{color:var(--accent)}.shelf-title{font-size:1.65rem}.ct-card{border-radius:.6rem}.wc-progress>span{background:var(--accent)}.poster-card.plain{position:relative}.poster-card.plain img{z-index:1;position:relative}.poster-fallback{color:var(--on-surface-variant);justify-content:center;align-items:center;padding:1rem;font-size:1.5rem;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.poster-card:focus,.wide-card:focus,.ct-card:focus,.platform-tile:focus{outline:.15rem solid var(--accent);outline-offset:.15rem;transform:scale(1.035)}.browse-layout{flex:1;min-height:0;display:flex}.browse-side{border-right:.05rem solid rgba(163,177,201,.22);flex:none;width:15rem;margin-right:2.2rem;padding:.7rem 1.5rem .7rem .4rem;overflow:auto}.browse-side .ux-eyebrow{padding:.6rem .8rem 1rem}.browse-side .focus-row{text-align:left;min-height:3.6rem;margin-bottom:.5rem;padding:1rem .8rem;font-size:1.3rem}.browse-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.browse-bar{border:0;border-radius:0;flex-wrap:wrap;height:auto;min-height:7rem;padding:.8rem;background:0 0!important}.bb-sorts{flex-wrap:wrap;margin:.8rem 0}.bb-sorts .chip{margin-top:.3rem}.browse-grid{flex:1;min-height:0}.browse .browse-info{flex:none}.settings .set-sections{border-right:.05rem solid rgba(163,177,201,.22);width:16rem;margin-right:2.4rem;padding-right:1.5rem}.set-section{min-height:3.8rem;font-size:1.3rem}.set-section.selected{color:var(--accent);background:rgba(var(--accent-rgb),.1);border-left:.15rem solid var(--accent)}.set-section .icon{width:1.5rem;height:1.5rem}.set-panel.glass{background:0 0;border:0;border-radius:0;padding:.5rem .8rem}.set-intro{color:var(--on-surface-variant);margin-bottom:1.4rem;font-size:1.25rem}.set-row{border-bottom:.05rem solid rgba(163,177,201,.18);border-radius:.45rem;min-height:5.2rem;padding:1rem 1.2rem}.set-row .opt-label{font-size:1.45rem}.set-sub{margin-top:.5rem;font-size:1.15rem}.set-value{color:var(--on-bg);padding-left:1.2rem;font-size:1.3rem}.library h1{margin:.6rem 0 .8rem;font-size:3rem}.library-items{flex-wrap:wrap;margin:2rem -.6rem 0;display:flex}.library-card{text-align:left;background:var(--surface);border-radius:.6rem;flex-direction:column;align-items:flex-start;width:calc(50% - 1.2rem);min-height:12rem;margin:.6rem;padding:1.8rem;display:flex}.library-card .icon{color:var(--accent);margin-bottom:1rem}.library-card strong{font-size:1.7rem}.library-card span{color:var(--on-surface-variant);margin-top:1rem;font-size:1.2rem}.vod-explore{flex-wrap:wrap;margin:.4rem 1.2rem 1.6rem;display:flex}.vod-explore>*{margin-top:.5rem;margin-right:1rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page-flow{padding:0}.browse{padding:1.6rem 3.2rem 1rem}.page-flow>.recordings,.page-flow>.extensions{padding:2rem 3.2rem 1.2rem}.focus-row{border-width:.15rem}.focus-row:focus{border-color:var(--accent);outline:none}.content.catalog-content{padding:0;overflow:hidden}.browse-side{width:14rem}.browse-grid .poster-card.plain{height:calc(var(--cw) * 1.5)}.browse-bar{flex-direction:column;align-items:flex-start;min-height:0;margin-bottom:.4rem}.browse-bar>.spacer{display:none}.bb-sorts{margin-top:.9rem}.chip,.btn{border-radius:.45rem}.pill.icon-only:nth-last-child(2){margin-left:auto}.ux-home .hero2{background:0 0;border-radius:0;height:14.2rem;margin:0 1.2rem 1rem;overflow:visible}.ux-home .hero2-info{width:60%;padding:.6rem 0}.ux-home .hero2-bg{z-index:-1;-webkit-mask-composite:source-in;width:68%;height:62%;position:fixed;top:0;right:0;-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}.ux-home .hero2-bg:after{display:none}.resume-channel,.resume-vod .wide-card{min-height:13rem}.library-items{margin-top:1.6rem}.library-card{background:linear-gradient(120deg,var(--surface-variant),var(--surface));border:.1rem solid transparent;min-height:12.4rem}.library-card:focus{border-color:var(--accent);outline:none}.poster-card.plain:focus{border-color:var(--accent);box-shadow:none;outline:none}.detail-scroll,.detail-scroll.series{padding:2.4rem 3.2rem 5rem;scroll-padding:1.6rem}.detail-info h1{font-size:2.8rem}.detail-poster{border-radius:.8rem;width:20rem;height:30rem}.detail-actions{margin-top:1.4rem}.full-details-btn{margin-top:1.1rem;font-size:1.2rem}.full-details-dialog{background:var(--surface);border-radius:.8rem;flex-direction:column;width:64rem;max-height:46rem;padding:2rem;display:flex}.full-details-dialog>h2{margin-bottom:1.4rem;font-size:2rem}.full-details-text{flex:1;min-height:0;max-height:28rem;margin-bottom:1.4rem;padding:1rem;font-size:1.5rem;line-height:1.5;overflow:auto}.full-details-text:focus{outline:.15rem solid var(--accent);outline-offset:.1rem}.full-details-text>p+p{margin-top:1.4rem}.full-details-dialog>button{align-self:flex-start}.catalog-poster{width:var(--cw);display:block}.catalog-title{-webkit-line-clamp:2;height:3.4rem;color:var(--on-bg);white-space:normal;overflow-wrap:break-word;-webkit-box-orient:vertical;margin-top:.7rem;font-size:1.2rem;line-height:1.7rem;display:-webkit-box;overflow:hidden}.catalog-meta{height:1.3rem;color:var(--on-surface-variant);white-space:nowrap;margin-top:.4rem;font-size:1.05rem;line-height:1.3rem;display:block;overflow:hidden}.browse-main .browse-grid{margin-top:.5rem}.ux-home .hero2-bg:after{content:"";background:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.3) 50%,rgba(0,0,0,.2));display:block;position:absolute;top:0;bottom:0;left:0;right:0}.ux-home .hero2-info{justify-content:center;padding:.5rem 0}.ux-home .hero2-info>*{flex-shrink:0}.ux-home .hero2-title{font-size:2.5rem;line-height:1.15}.ux-home .hero2-plot:empty{display:none}.ux-home .hero2-plot{min-height:0;font-size:1.1rem;line-height:1.4rem}.ux-home .hero2-buttons .btn{padding:.55rem 1.1rem;font-size:1.35rem}.pill{border:.1rem solid transparent;border-radius:.25rem}.pill.selected{border:.1rem solid rgba(var(--accent-rgb),.5);box-shadow:none;background:0 0}.pill:focus{border-color:var(--accent);box-shadow:0 0 0 .05rem var(--accent);outline:none}.browse-grid>.grid-cell{width:calc(25% - 1.8rem)}.catalog-poster{margin:0 auto}.poster-card.plain:focus{transform:scale(1.035)}.brand{margin-right:2.8rem;font-size:1.8rem}.pill{font-size:1.4rem}.browse-side .focus-row{padding-top:.8rem;padding-bottom:.8rem;font-size:1.4rem}.bb-title{font-size:2.8rem}.catalog-title{font-size:1.4rem}.catalog-meta{font-size:1.2rem}.library h1{font-size:2.8rem}html,body{width:100%;max-width:100%;position:relative;overflow:hidden}.app{width:100%;min-width:0;max-width:100%}.topbar,.pills,.content,.page-flow,.home,.home-shelves{min-width:0}.browse-grid>.grid-cell{height:calc(var(--cw) * 1.5 + var(--caption-h));margin-bottom:7.6rem}.poster-card img,.detail-poster img{object-fit:contain}.pill{font-weight:400}.browse{padding-top:2rem}.browse-side{border-right:0;margin-right:2rem}.browse-side .ux-eyebrow{letter-spacing:normal;text-transform:none;padding-left:.6rem;font-size:1.4rem}.browse-side .focus-row.selected{background:var(--surface-variant)}.browse-bar{padding:0}.settings .set-sections{border:0;width:16.5rem;margin-left:0;padding:0}.set-panel.glass{padding:0}.set-panel>.ux-eyebrow{text-transform:none;letter-spacing:normal;font-size:1.4rem}.set-panel h2{margin:.8rem 0;font-size:2.8rem}.set-intro{margin-bottom:1.8rem;font-size:1.4rem}.set-section{font-size:1.4rem}.set-section.selected{background:var(--surface-variant);border-left-color:transparent}.set-row{border-bottom:0;min-height:4.8rem;padding:.8rem 1.2rem}.set-row .opt-label,.set-value{font-size:1.6rem}.set-sub{font-size:1.4rem}.set-value{color:var(--accent)}.library>.ux-eyebrow{letter-spacing:normal;font-size:1.2rem}.library>.muted{font-size:1.4rem}.library-card{border-radius:.8rem;min-height:14.4rem}.library-card strong{font-size:1.8rem;font-weight:500}.library-card span{font-size:1.4rem}.library-card .icon{width:2.2rem;height:2.2rem}.live-cats,.live-cats.wide{border-right:0}.live-preview.glass{box-shadow:none;background:0 0}.live-preview .preview-box{box-shadow:none;border-radius:1.2rem}.live-list-title>button{font-size:1.4rem}.preview-name{font-size:2.2rem}.detail-scroll,.detail-scroll.series{padding:3.5rem 4.8rem 5rem}.detail-info h1{font-weight:600}.ux-home .hero2,.ux-home .home-head,.resume-row{margin-left:0;margin-right:0}.ux-home .hero2-info{width:55%}.ux-home .hero2-title{font-size:2.8rem}.ux-home .hero2-plot{font-size:1.4rem;line-height:1.6rem}.ux-home .hero2-meta{font-size:1.6rem}.library-card{min-height:13.2rem}.ux-home .hero2{margin-bottom:3.8rem}.btn,.ux-home .hero2-buttons .btn,.live-list-title>button{border-radius:.5rem;min-height:3.8rem;padding:.9rem 1.6rem;font-size:1.6rem;font-weight:500;line-height:2rem;transform:none}.btn:focus,.btn.outline:focus{background:var(--surface-variant);color:var(--on-bg);border-color:var(--accent)}.btn.primary:focus{background:var(--accent);color:#00121c;border-color:var(--accent)}.pill{margin-left:.2rem;padding:.7rem 1rem}.pill:first-child{margin-left:0}.pill.icon-only{padding:.7rem .8rem}.bb-sorts .chip{min-height:3.6rem;padding:.8rem 1.4rem;font-size:1.4rem;font-weight:400;line-height:1.8rem}.btn:focus{box-shadow:inset 0 0 0 .1rem var(--accent)}.ct-card{text-align:left;border-radius:.6rem;flex-direction:column;justify-content:flex-start;align-items:stretch;height:13.2rem;padding:1.4rem}.ct-logo{flex-shrink:0;align-items:center;height:4rem;display:flex}.ct-logo .channel-logo{max-height:4rem}.ct-fallback{color:var(--accent);font-size:2.2rem}.ct-card .ct-name{margin-top:.6rem;line-height:1.7rem}.ct-card .ct-program{margin-top:.6rem;line-height:1.9rem;display:block}.ct-card .ct-progress{flex-shrink:0;margin-top:.6rem}.channel-tile,.ct-card{width:13.6rem}.ct-card{height:10.8rem;padding:1.2rem}.ct-logo,.ct-logo .channel-logo{height:2.8rem;max-height:2.8rem}.ct-logo .channel-logo{max-width:6rem}.ct-card .ct-name,.ct-card .ct-program,.ct-card .ct-progress{margin-top:.4rem}.ct-card .ct-program{font-size:1.4rem;line-height:1.7rem}.ct-logo{justify-content:center;height:4.8rem}.ct-logo .channel-logo{max-width:100%;max-height:4.8rem;width:100%!important;height:4.8rem!important}.ct-logo img{object-fit:contain;width:100%;height:100%}.ct-fallback{color:var(--on-bg);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.6rem;display:-webkit-box;overflow:hidden}.program-tile{border-radius:.6rem;width:22rem;height:10.8rem;padding:1.2rem}.pt-logo-box{width:4rem;height:4rem;margin-right:1rem}.pt-time,.pt-title{font-size:1.4rem}.pt-title{line-height:1.7rem}.pt-channel{font-size:1.2rem}.ux-home .hero2{height:16rem}.ux-home .hero2-info{padding:0}.ux-home .hero2-kind{font-size:1.2rem;line-height:1.4rem}.ux-home .hero2-title{margin-top:.2rem;font-size:2.8rem;line-height:3.2rem}.ux-home .hero2-meta{margin-top:.6rem;font-size:1.4rem;line-height:1.7rem}.ux-home .hero2-plot{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.6rem;font-size:1.2rem;line-height:1.4rem;display:-webkit-box;overflow:hidden}.ux-home .hero2-buttons{margin-top:1rem}.ct-card{justify-content:center}.ct-card.has-program{justify-content:space-between}.ct-card .ct-program{text-align:center}.ct-card .ct-program,.ct-card .ct-progress{margin-top:0}.program-tile{justify-content:center;align-items:center}.program-tile .pt-text{flex:0 auto;max-width:14.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 C(e,t){if(t==null)return e.__&&C(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:C(e)}function ee(e){if((e=e.__)&&e.__c&&!e.props.__P)return e.__e=null,e.__k.some(function(t){return t&&(e.__e=t.__e)}),ee(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),A(p,i,l,r.__n,p.namespaceURI,32&l.__u?[u]:null,d,u||C(l),32&l.__u,f),i.__v=l.__v,i.__.__k[i.__i]=i,oe(d,i,f),l.__=l.__e=null,i.__e!=u&&ee(i)))}finally{(s=a.length)&&(o||queueMicrotask)(T)}}function te(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=E(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=A(e,h,f,i,a,o,s,c,l,u),g=h.__e,(f.ref!=h.ref||8&f.__u)&&(f.ref&&ce(f.ref,null,h,f),h.ref&&u.push(h.ref,h.__c||g,h)),_=_||g,4&h.__u?(c=D(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 E(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=O(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=C(s)),le(s,s));return r}function D(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=D(i[a],t,n,!1));return t}for(t&&!t.parentNode&&(t=C(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 O(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 k(e,t,n){n==null&&(n=``),t[0]==`-`?e.setProperty(t,n):e[t]=n}function ne(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||k(e.style,t);if(n)for(t in n)r&&n[t]==r[t]||k(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]=re(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 re(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 A(e,t,r,i,a,o,s,c,l,u){var d,f,p,h,_,b,ee,w,T,E,D,O,k,ne,re,A,oe,ce,j=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=ie(d,o):o.push(d),c=o[0]||c),(d=n.__b)&&d(t);n:if(typeof j==`function`){p=s.length;try{if(w=t.props,T=(d=j.prototype)&&d.render,E=(d=j.contextType)&&i[d.__c],D=d?E?E.props.value:d.__:i,(h=r.__c)?(t.__c=h,2&h.__g&&(h.__g|=1)):(T?t.__c=h=new j(w,D):(t.__c=h=new S(w,D),h.constructor=j,h.render=ue),E&&E.sub(h),h.state||(h.state={}),h.__n=i,h.__g|=8,h.__h=[],h.__k=[]),T&&(h.__s||(h.__s=h.state),j.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=v({},h.__s)),v(h.__s,j.getDerivedStateFromProps(w,h.__s)))),_=h.props,b=h.state,h.__v=t,r.__c){if(w!==_&&T&&!j.getDerivedStateFromProps&&h.componentWillReceiveProps&&h.componentWillReceiveProps(w,D),t.__v==r.__v&&!(8&h.__g)||!(4&h.__g)&&h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(w,h.__s,D)){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=C(r);break n}h.componentWillUpdate&&h.componentWillUpdate(w,h.__s,D),T&&h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(_,b,ee)})}else T&&!j.getDerivedStateFromProps&&h.componentWillMount&&h.componentWillMount(),T&&h.componentDidMount&&h.__h.push(h.componentDidMount);if(h.context=D,h.props=w,h.__P=e,h.__g&=-5,O=n.__r,k=0,T)h.state=h.__s,h.__g&=-9,O&&O(t),d=h.render(h.props,h.state,h.context),m.push.apply(h.__h,h.__k),h.__k=[];else do h.__g&=-9,O&&O(t),d=h.render(h.props,h.state,h.context),h.state=h.__s;while(8&h.__g&&++k<25);h.state=h.__s,h.getChildContext&&(i=v({},i,h.getChildContext())),T&&r.__c&&h.getSnapshotBeforeUpdate&&(ee=h.getSnapshotBeforeUpdate(_,b)),ne=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&&le(e,e)}),r.__k=null),c=r.__k?C(r,0):null),c=te(e,g(ne)?ne:[ne],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(re=0,t.__u|=128|l,o){for(~(oe=o.indexOf(c||void 0))||(oe=o.length);(ce=o[oe-1])&&ce.nodeType==8;)oe--;for(;oe<o.length;oe++)if(ce=o[oe]){if(o[oe]=null,ce.nodeType==8){if(ce.data.startsWith(`$s`))re++||(A=ce);else if(re&&ce.data.startsWith(`/$s`)&&!--re)break}else if(!re)break}}if(!A){for(;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;A=c}(d=ie(A=t.__c.__z||(t.__c.__z=A)))?(t.__e=A,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||ae(t),n.__e(e,t,r)}}else c=t.__e=se(r.__e,t,r,i,a,o,s,l,u,e);return(d=n.diffed)&&d(t),c}function ie(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 ae(e){e&&(e.__c&&(e.__c.__g|=4),e.__k&&e.__k.some(ae))}function oe(e,t,r){for(var i=0;i<r.length;)ce(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 se(e,t,r,i,a,o,s,c,l,u){var d,f,m,v,b,x,S,ee,w,T=r.props||p,E=t.props,D=t.type;if(D==`svg`?a=`http://www.w3.org/2000/svg`:D==`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])&&(D?b.localName==D:b.nodeType==3)){e=b,o[d]=null;break}}if(!e){if(ee=u.ownerDocument||document,!D)return ee.createTextNode(E);e=ee.createElementNS(a,D,E.is&&E),c&&(n.__m&&n.__m(t,o),c=!1),o=null}if(D){if(u=D==`template`?e.content:e,o=D==`textarea`&&E.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 E||d==`value`&&`defaultValue`in E||d==`checked`&&`defaultChecked`in E||ne(e,d,null,b,a);for(d in w=1&r.__u,E)b=E[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)||ne(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=``),(D==`foreignObject`||a==`http://www.w3.org/1998/Math/MathML`&&h.test(D))&&(a=`http://www.w3.org/1999/xhtml`),te(u,g(v)?v:[v],t,r,i,a,o,s,o?o[0]:r.__k&&C(r,0),c,l),o&&o.some(y)),c&&D!=`textarea`||(d=`value`,D==`progress`&&x==null?e.removeAttribute(d):x==null||x===e[d]&&(D!=`progress`||x)||ne(e,d,x,T[d],a),d=`checked`,S!=null&&S!=e[d]&&ne(e,d,S,T[d],a))}else T===E||c&&e.data==E||(e.data=E);return e}function ce(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 le(e,t,r){var i,a,o,s;if(n.unmount&&n.unmount(e),!(i=e.ref)||i.current&&i.current!=e.__e||ce(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]&&le(i[s],t,typeof e.type!=`function`||r&&!e.props.__P);!r&&(i=e.__c)&&(i=i.__z)&&(a=ie(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 ue(e,t,n){return this.constructor(e,n)}function j(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=[],A(t,t.__k,i||p,p,t.namespaceURI,i?null:t.firstChild?_.call(t.childNodes):null,a,i?i.__e:t.firstChild,r,o),oe(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,N,pe,me,he=Object.is,ge=0,_e=[],ve=[],ye=n,be=ye.__b,xe=ye.__r,Se=ye.diffed,Ce=ye.__c,we=ye.unmount,Te=ye.__;function Ee(e,t){ye.__h&&ye.__h(N,e,ge||t),ge=0;var n=N.__H||(N.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function P(e){return ge=1,De(Ie,e)}function De(e,t,n){var r=Ee(fe++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Ie(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);he(t,n)||(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=N,!N.__f)){N.__f=!0;var i=N.shouldComponentUpdate;N.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,he(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 F(e,t){var n=Ee(fe++,3);!ye.__s&&Fe(n.__H,t)&&(n.__P=!0,n.__=e,n.u=t,N.__H.__h.push(n))}function I(e){return ge=5,Oe(function(){return{current:e}},[])}function Oe(e,t){var n=Ee(fe++,7);return Fe(n.__H,t)&&(n.__=e(),n.__H=t),n.__}function ke(){var e;do{for(;e=ve.shift();)try{Ne(e)}catch(t){ye.__e(t,{__:(e=e.__P)&&e.__v})}for(;e=_e.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Ne),t.__h.some(Pe),t.__h=[]}catch(n){t.__h=[],ye.__e(n,e.__v)}}}while(ve.length)}ye.__b=function(e){N=null,be&&be(e)},ye.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Te&&Te(e,t)},ye.__r=function(e){xe&&xe(e),fe=0;var t=(N=e.__c).__H;t&&(pe==N?N.__h=[]:(t.__h.some(Ne),t.__h.some(Pe),fe=0),t.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})),pe=N},ye.diffed=function(e){Se&&Se(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&Me(_e.push(t)),t.__H.__.some(function(e){e.u&&(e.__H=e.u)})),pe=N=null},ye.__c=function(e,t){t.some(function(e){try{e.__h.some(Ne),e.__h=e.__h.filter(function(e){return!e.__||Pe(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],ye.__e(n,e.__v)}}),Ce&&Ce(e,t)},ye.unmount=function(e){we&&we(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,Me(ve.push(r))}else Ne(r)}catch(e){t=e}}),r.__H=void 0,t&&ye.__e(t,r.__v))};var Ae=typeof requestAnimationFrame==`function`;function je(e){var t,n=function(){clearTimeout(r),Ae&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Ae&&(t=requestAnimationFrame(n))}function Me(e){e!=1&&me==ye.requestAnimationFrame||((me=ye.requestAnimationFrame)||je)(ke)}function Ne(e){var t=N,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),N=t}function Pe(e){var t=N;e.__c=e.__(),N=t}function Fe(e,t){return!e||e.length!=t.length||t.some(function(t,n){return!he(t,e[n])})}function Ie(e,t){return typeof t==`function`?t(e):t}var Le=Symbol.for(`preact-signals`);function Re(){if(We>1)We--;else{var e,t=!1;for((function(){var e=Je;for(Je=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}})();Ue!==void 0;){var n=Ue;for(Ue=void 0,Ge++;n!==void 0;){var r=n.u;if(n.u=void 0,n.f&=-3,!(8&n.f)&&Qe(n))try{n.c()}catch(n){t||(e=n,t=!0)}n=r}}if(Ge=0,We--,t)throw e}}function ze(e){if(We>0)return e();qe=++Ke,We++;try{return e()}finally{Re()}}var Be,Ve=void 0;function He(e){var t=Ve,n=Be;Ve=void 0,Be=void 0;try{return e()}finally{Ve=t,Be=n}}var Ue=void 0,We=0,Ge=0,Ke=0,qe=0,Je=void 0,Ye=0;function Xe(e){if(Ve!==void 0){var t=e.n;if(t===void 0||t.t!==Ve)return t={i:0,S:e,p:Ve.s,n:void 0,t:Ve,e:void 0,x:void 0,r:t},Ve.s!==void 0&&(Ve.s.n=t),Ve.s=t,e.n=t,32&Ve.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=Ve.s,t.n=void 0,Ve.s.n=t,Ve.s=t),t}}function Ze(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}Ze.prototype.brand=Le,Ze.prototype.h=function(){return!0},Ze.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?He(function(){var e;(e=t.W)==null||e.call(t)}):n.e=e)},Ze.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&&He(function(){var e;(e=t.Z)==null||e.call(t)}))}},Ze.prototype.subscribe=function(e){var t=this;return st(function(){var n=t.value;He(function(){return e(n)})},{name:`sub`})},Ze.prototype.valueOf=function(){return this.value},Ze.prototype.toString=function(){return this.value+``},Ze.prototype.toJSON=function(){return this.value},Ze.prototype.peek=function(){var e=this;return He(function(){return e.value})},Object.defineProperty(Ze.prototype,"value",{get:function(){var e=Xe(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(Ge>100)throw Error(`Cycle detected`);(function(e){We!==0&&Ge===0&&e.l!==qe&&(e.l=qe,Je={S:e,v:e.v,i:e.i,o:Je})})(this),this.v=e,this.i++,Ye++,We++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{Re()}}}});function L(e,t){return new Ze(e,t)}function Qe(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 $e(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 et(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 tt(e,t){Ze.call(this,void 0,t),this.x=e,this.s=void 0,this.g=Ye-1,this.f=4}tt.prototype=new Ze,tt.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Ye))return!0;if(this.g=Ye,this.f|=1,this.i>0&&!Qe(this))return this.f&=-2,!0;var e=Ve;try{$e(this),Ve=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 Ve=e,et(this),this.f&=-2,!0},tt.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)}Ze.prototype.S.call(this,e)},tt.prototype.U=function(e){if(this.t!==void 0&&(Ze.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)}},tt.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(tt.prototype,"value",{get:function(){if(1&this.f)throw Error(`Cycle detected`);var e=Xe(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function nt(e,t){return new tt(e,t)}function rt(e){var t=e.m;if(e.m=void 0,typeof t==`function`){We++;var n=Ve;Ve=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,it(e),t}finally{Ve=n,Re()}}}function it(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,rt(e)}function at(e){if(Ve!==this)throw Error(`Out-of-order effect`);et(this),Ve=e,this.f&=-2,8&this.f&&it(this),Re()}function ot(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,Be&&Be.push(this)}ot.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()}},ot.prototype.S=function(){if(1&this.f)throw Error(`Cycle detected`);this.f|=1,this.f&=-9,rt(this),$e(this),We++;var e=Ve;return Ve=this,at.bind(this,e)},ot.prototype.N=function(){2&this.f||(this.f|=2,this.u=Ue,Ue=this)},ot.prototype.d=function(){this.f|=8,1&this.f||it(this)},ot.prototype.dispose=function(){this.d()};function st(e,t){var n=new ot(e,t);try{n.c()}catch(e){throw n.d(),e}var r=n.d.bind(n);return r[Symbol.dispose]=r,r}var ct,lt,ut,dt=typeof window<`u`&&!!window.__PREACT_SIGNALS_DEVTOOLS__,ft=[];st(function(){ct=this.N})();function pt(e,t){n[e]=t.bind(null,n[e]||function(){})}function mt(e){if(ut){var t=ut;ut=void 0,t()}ut=e&&e.S()}function ht(e){var t=this,n=e.data,r=_t(n);r.name=`ReactiveDom`,r.value=n;var a=Oe(function(){for(var e=t,n=t.__v;n=n.__;)if(n.__c){n.__c.__$f|=4;break}var a=nt(function(){var e=r.value.value;return e===0?0:!0===e?``:e||``}),o=nt(function(){return!Array.isArray(a.value)&&!i(a.value)}),s=st(function(){if(this.N=xt,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}ht.displayName=`ReactiveTextNode`,Object.defineProperties(Ze.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:ht},props:{configurable:!0,get:function(){var e=this;return{data:{get value(){return e.value}}}}},__b:{configurable:!0,value:1}}),pt(`__b`,function(e,t){if(mt(),lt=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 Ze&&(n||(t.__np=n={}),n[i]=a,r[i]=a.peek())}}e(t)}),pt(`__r`,function(e,t){if(e(t),t.type!==x){mt();var n,r=t.__c;r&&(r.__$f&=-2,(n=r.__$u)===void 0&&(r.__$u=n=function(e,t){var n;return st(function(){n=this},{name:t}),n.c=e,n}(function(e){return function(){var t;dt&&((t=this.y)==null||t.call(this)),e.__$f|=1,e.setState({})}}(r),typeof t.type==`function`?t.type.displayName||t.type.name:``))),lt=r,mt(n)}}),pt(`__e`,function(e,t,n,r){mt(),lt=void 0,e(t,n,r)}),pt(`diffed`,function(e,t){mt(),lt=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=gt(n,c,u,i),a[c]=l):l.o(u,i)}}e(t)});function gt(e,t,n,r){var i=t in e&&e.ownerSVGElement===void 0,a=L(n);return{o:function(e,t){a.value=e,r=t},d:st(function(){this.N=xt;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))})}}pt(`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)}),pt(`__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 _t(e,t){return Oe(function(){return L(e,t)},[])}function vt(e,t){var n=I(e);return n.current=e,lt.__$f|=4,Oe(function(){return nt(function(){return n.current()},t)},[])}var yt=function(e){queueMicrotask(function(){queueMicrotask(e)})};function bt(){ze(function(){for(var e;e=ft.shift();)ct.call(e)})}function xt(){ft.push(this)===1&&(n.requestAnimationFrame||yt)(bt)}var St=`https://tvapp.erdogan.gen.tr/api/access`,Ct=`utopya.accessKey`,wt=`utopya.accessAt`,Tt=6048e5,Et=L(null);async function Dt(e){try{let t=await fetch(St,{method:`POST`,body:e,cache:`no-store`});return t.status===204?`ok`:t.status===404?`wrong`:`offline`}catch(e){return`offline`}}function Ot(e){try{return localStorage.getItem(e)}catch(e){return null}}function kt(e){try{localStorage.setItem(Ct,e),localStorage.setItem(wt,String(Date.now()))}catch(e){}}async function At(){let e=Ot(Ct);if(!e){Et.value=!1;return}let t=Date.now()-Number(Ot(wt)||0)<Tt;t&&(Et.value=!0);let n=await Dt(e);if(n===`ok`)kt(e),Et.value=!0;else if(n===`wrong`||!t){if(n===`wrong`)try{localStorage.removeItem(Ct)}catch(e){}Et.value=!1}}var jt={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 Mt(e){return e.keyCode>=48&&e.keyCode<=57?`digit${e.keyCode-48}`:e.keyCode>=96&&e.keyCode<=105?`digit${e.keyCode-96}`:jt[e.keyCode]}var Nt=`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(`.`),Pt=typeof tizen<`u`;function Ft(){if(!Pt)return;let e=new Set(tizen.tvinputdevice.getSupportedKeys().map(e=>e.name)),t=Nt.filter(t=>e.has(t));try{tizen.tvinputdevice.registerKeyBatch(t)}catch(e){t.forEach(e=>{try{tizen.tvinputdevice.registerKey(e)}catch(e){}})}}function It(){Pt?tizen.application.getCurrentApplication().exit():window.close()}var Lt=new Map,Rt=new Map,zt=`.content, .page, .page-flow`,Bt=e=>e.getAttribute(`data-focus-group`)||e,Vt=!1;function Ht(e){return e.getClientRects().length>0&&!e.hasAttribute(`disabled`)&&e.getAttribute(`aria-disabled`)!==`true`}function Ut(){let e=document.querySelectorAll(`[data-focus-scope]`);return e.length?e[e.length-1]:document}function Wt(e=Ut()){return Array.prototype.filter.call(e.querySelectorAll(`[data-focus]`),Ht)}function Gt(e){return e?e.closest(`[data-focus-group]`):null}function Kt(e){if(!e)return!1;e.tabIndex<0&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=-1);try{e.focus({preventScroll:!0})}catch(t){e.focus()}qt();let t=e.closest(zt);t&&Rt.set(Bt(t),e);let n=Gt(e);if(n&&(Lt.set(n.dataset.focusGroup,e),Lt.size>200&&Lt.forEach((e,t)=>{e.isConnected||Lt.delete(t)})),e.closest(`[data-focus-noscroll]`))return!0;let r=parseFloat(getComputedStyle(document.documentElement).fontSize);for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){let n=getComputedStyle(t),i=t.getBoundingClientRect(),a=e.getBoundingClientRect(),o=r*1.2;if(/auto|scroll/.test(n.overflowX)&&t.scrollWidth>t.clientWidth&&(a.left<i.left+o?t.scrollLeft-=i.left+o-a.left:a.right>i.right-o&&(t.scrollLeft+=a.right-i.right+o)),/auto|scroll/.test(n.overflowY)&&t.scrollHeight>t.clientHeight){let n=e.closest(`.shelf`),r=n==null?void 0:n.getBoundingClientRect(),s=r&&r.height+o*2<i.height?r:a;s.top<i.top+o?t.scrollTop-=i.top+o-s.top:s.bottom>i.bottom-o&&(t.scrollTop+=s.bottom-i.bottom+o)}}return qt(),!0}function qt(){(window.scrollX||window.scrollY)&&window.scrollTo(0,0),document.documentElement.scrollLeft=0,document.body.scrollLeft=0}function Jt(e){let t=e.querySelector(`[data-focus-default]`);if(t&&Ht(t))return t;let n=e instanceof HTMLElement&&e.dataset.focusGroup,r=n?Lt.get(n):void 0;if(r&&r.isConnected&&Ht(r))return r;let i=e.querySelector(`[data-focus-initial]`);return i&&Ht(i)?i:Wt(e)[0]}function R(e){return e?Kt(Jt(e)):!1}function Yt(){let e=Array.prototype.filter.call(document.querySelectorAll(zt),Ht)[0];if(!e)return!1;let t=Rt.get(Bt(e));return Kt(t&&t.isConnected&&Ht(t)&&e.contains(t)?t:Jt(e))}function Xt(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 Zt(e){var t,n;let r=document.activeElement,i=Wt();if(!r||!r.hasAttribute(`data-focus`)||i.indexOf(r)<0)return Kt(Jt(Ut())||i[0]);let a=Qt(r,e);if(a)return Kt(a);if(e===`down`&&r.closest(`.topbar`)&&Yt())return!0;let o=r.getBoundingClientRect(),s=[];for(let t of i){if(t===r)continue;let n=Xt(o,t.getBoundingClientRect(),e);n&&s.push([t,n[0],n[1],n[2]])}if(e===`left`||e===`right`){r.closest(`.topbar`)||(s=s.filter(e=>!e[0].closest(`.topbar`)));let e=s.filter(e=>e[3]===0);e.length&&(s=e)}else{let t=r.closest(zt);if(t){let e=s.filter(e=>e[3]===0&&t.contains(e[0]));e.length&&(s=e)}else if(e===`up`&&r.closest(`.topbar`))return!1}let c=1/0;for(let e of s)e[1]<c&&(c=e[1]);let l=parseFloat(getComputedStyle(document.documentElement).fontSize),u=Math.min((e===`up`||e===`down`?o.height:o.width)/2,3*l),d,f=1/0;for(let[e,t,n]of s)t<=c+u&&n<f&&(f=n,d=e);if(!d)return!1;let p=d.classList.contains(`shelf-all`)?d.closest(`.shelf`):null,m=p&&!p.contains(r)?p.querySelector(`.shelf-row`):null;m&&(d=(t=Wt(m)[0])==null?d:t);let h=d.closest(`.shelf-row`);if((e===`up`||e===`down`)&&h&&!h.contains(r))return Kt(Wt(h)[0]);let g=Gt(d);return g&&g!==Gt(r)&&!g.contains(r)&&(d=(n=Jt(g))==null?d:n),Kt(d)}function Qt(e,t){let n=e.closest(`.shelf`),r=n&&n.querySelector(`.shelf-all`);if(n&&r&&Ht(r)){if(t===`up`&&e!==r&&e.closest(`.shelf-row`))return r;if(t===`down`&&e===r)return Wt(n.querySelector(`.shelf-row`))[0]}}var $t=[];function en(e){let t=I(e);t.current=e,F(()=>{let e=(e,n)=>t.current(e,n);return $t.push(e),()=>{let t=$t.indexOf(e);t>=0&&$t.splice(t,1)}},[])}var tn=600,nn,rn=!1;function an(e){return!!e&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`)}var on=65376,sn=65385;function cn(e,t){let n=Mt(e),r=()=>{e.preventDefault();let n=t.closest(`[data-focus]`);t.blur(),Kt(n)};if(e.keyCode===on||e.keyCode===sn||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(),Zt(n)),!0}function ln(e){document.addEventListener(`focusin`,()=>{qt(),requestAnimationFrame(qt)}),document.addEventListener(`keydown`,t=>{let n=document.activeElement;if(t.key===`Tab`){let e=Wt();if(!e.length)return;t.preventDefault();let r=n&&n.closest(`[data-focus]`);Kt(e[(e.indexOf(r)+(t.shiftKey?-1:1)+e.length)%e.length]);return}if(t.ctrlKey||t.metaKey||t.altKey)return;if(t.key===`ContextMenu`||t.shiftKey&&t.key===`F10`){t.preventDefault(),n==null||n.dispatchEvent(new CustomEvent(`longpress`,{bubbles:!0}));return}if(!an(n)&&t.key&&t.key.length===1&&!t.repeat){let e=n==null?void 0:n.querySelector(`input, textarea`);if(e&&!e.disabled&&!e.readOnly){t.preventDefault(),e.focus(),e.value+=t.key,e.dispatchEvent(new Event(`input`,{bubbles:!0}));return}}if(an(n)&&cn(t,n))return;let r=Mt(t);if(!r)return;if(r===`ok`){if(t.preventDefault(),t.repeat||nn!==void 0||rn)return;nn=window.setTimeout(()=>{var e;nn=void 0,rn=!0,(e=document.activeElement)==null||e.dispatchEvent(new CustomEvent(`longpress`,{bubbles:!0}))},tn);return}if(t.preventDefault(),t.repeat){if(Vt)return;Vt=!0,requestAnimationFrame(()=>{Vt=!1})}let i=!1;for(let e=$t.length-1;e>=0;e--){let n=$t[e](r,t);if(n==="default"){i=!0;break}if(n)return}r===`left`||r===`right`||r===`up`||r===`down`?Zt(r):i||e(r,t)}),window.addEventListener(`blur`,()=>{clearTimeout(nn),nn=void 0,rn=!1}),document.addEventListener(`keyup`,e=>{var t;if(!(Mt(e)!==`ok`||an(document.activeElement))){if(e.preventDefault(),rn)rn=!1;else if(nn!==void 0){clearTimeout(nn),nn=void 0;for(let t=$t.length-1;t>=0;t--){let n=$t[t](`ok`,e);if(n==="default")break;if(n)return}(t=document.activeElement)==null||t.click()}}})}var un={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_error_timeout:`Sunucu zamanında yanıt vermedi.`,player_error_server:`Yayın sunucusunda bir sorun var; biraz sonra tekrar deneyin.`,player_error_limit:`Hesabınızın aynı anda izleme sınırı doldu. Başka cihazdaki yayını kapatıp tekrar deneyin.`,player_error_detail:`Ayrıntı: %1$s`,player_fallback_reason:`Kanal açılamadı (%1$s); önceki kanala dönüldü.`,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_update_hint:`TizenBrew ile kurulduysa uygulamayı kapatıp yeniden açın. Paketle (.wgt) kurulduysa yeni paketi bilgisayardan yeniden kurun.`,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.`,tz_access_title:`Erişim anahtarı`,tz_access_text:`Bu uygulama kişisel kullanım içindir. Devam etmek için erişim anahtarını girin.`,tz_access_label:`Anahtar`,tz_access_continue:`Devam`,tz_access_checking:`Denetleniyor…`,tz_access_wrong:`Anahtar yanlış.`,tz_access_offline:`Anahtar denetlenemedi. İnternet bağlantısını kontrol edip tekrar deneyin.`,nav_library:`Kütüphanem`,ux_welcome:`Kaldığın yerden devam et.`,ux_last_channel:`Son izlediğin kanal`,ux_continue:`İzlemeye devam et`,ux_explore:`Keşfet`,ux_all_content:`Tüm içerikler`,ux_categories:`Kategoriler`,ux_genres:`Türler`,ux_platforms:`Platformlar`,ux_library_hint:`Kaydettiklerin, favorilerin ve eklentilerin bir arada.`,ux_recordings_hint:`Kayıtlar, indirmeler ve hatırlatıcılar`,ux_extensions_hint:`Kendi içerik eklentilerini yönet`,ux_fav_movies:`Favori filmlerim`,ux_fav_series:`Favori dizilerim`,ux_customize:`Kişiselleştir`,ux_settings_hint:`Uygulamayı izleme alışkanlığına göre düzenle.`,ux_resume_hint:`Son kanalın ve yarım kalan içeriklerin burada görünür.`,ux_loading:`İçerikler hazırlanıyor…`,ux_source:`Kaynak: %s`,ux_now_watching:`İzleniyor`,ux_text_size:`Yazı boyutu`,ux_text_size_hint:`Menü ve açıklamaların okunurluğu.`,ux_text_standard:`Standart`,ux_text_large:`Büyük`,ux_theme_desc:`Ekranın genel renk görünümü.`,ux_accent_desc:`Odak ve seçili öğelerde kullanılan renk.`,ux_start_desc:`Uygulama açıldığında gösterilecek bölüm.`,ux_shelves_desc:`Görünür rafları ve sıralarını düzenle.`,ux_keyboard_hint:`Ok tuşlarıyla gezin, Enter ile seç, Esc ile geri dön. Tab ile sıradaki öğeye geç.`,ux_video_audio:`Görüntü ve ses`,ux_appearance:`Görünüm`,ux_subtitles:`Altyazılar`,ux_controls:`Kumanda ve klavye`,ux_full_details:`Tüm ayrıntılar`},dn={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_error_timeout:`The server did not respond in time.`,player_error_server:`The stream server has a problem; try again shortly.`,player_error_limit:`Your account's simultaneous stream limit is reached. Stop playback on another device and retry.`,player_error_detail:`Detail: %1$s`,player_fallback_reason:`Channel failed to open (%1$s); switched back to the previous channel.`,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_update_hint:`If installed with TizenBrew, close and reopen the app. If installed as a package (.wgt), reinstall the new package from your computer.`,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.`,tz_access_title:`Access key`,tz_access_text:`This app is for personal use. Enter the access key to continue.`,tz_access_label:`Key`,tz_access_continue:`Continue`,tz_access_checking:`Checking…`,tz_access_wrong:`Wrong key.`,tz_access_offline:`The key could not be checked. Check the internet connection and try again.`,nav_library:`My library`,ux_welcome:`Pick up where you left off.`,ux_last_channel:`Your last channel`,ux_continue:`Continue watching`,ux_explore:`Explore`,ux_all_content:`All titles`,ux_categories:`Categories`,ux_genres:`Genres`,ux_platforms:`Platforms`,ux_library_hint:`Your recordings, favorites and extensions in one place.`,ux_recordings_hint:`Recordings, downloads and reminders`,ux_extensions_hint:`Manage your content extensions`,ux_fav_movies:`Favorite movies`,ux_fav_series:`Favorite series`,ux_customize:`Personalize`,ux_settings_hint:`Make the app work for the way you watch.`,ux_resume_hint:`Your last channel and unfinished titles appear here.`,ux_loading:`Loading your content…`,ux_source:`Source: %s`,ux_now_watching:`Watching`,ux_text_size:`Text size`,ux_text_size_hint:`Readability of menus and descriptions.`,ux_text_standard:`Standard`,ux_text_large:`Large`,ux_theme_desc:`The overall color appearance.`,ux_accent_desc:`The color used for focus and selection.`,ux_start_desc:`The section shown when the app opens.`,ux_shelves_desc:`Choose and arrange the shelves you see.`,ux_keyboard_hint:`Use arrows to navigate, Enter to select, Esc to go back and Tab for the next item.`,ux_video_audio:`Picture and sound`,ux_appearance:`Appearance`,ux_subtitles:`Subtitles`,ux_controls:`Remote and keyboard`,ux_full_details:`Full details`},fn=`utopya.lang`,pn={tr:un,en:dn};function mn(){try{return localStorage.getItem(fn)===`en`?`en`:`tr`}catch(e){return`tr`}}var hn=L(mn());function gn(e){hn.value=e;try{localStorage.setItem(fn,e)}catch(e){}}function z(e,...t){var n,r;let i=(n=(r=pn[hn.value][e])==null?un[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 _n=(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}/`),vn=null,yn=e=>{let t=e.getAttribute(`data-src`);t&&e.getAttribute(`src`)!==t&&(e.src=t)};function bn(){return vn||(vn=new IntersectionObserver(e=>{for(let t of e){let e=t.target;if(t.intersectionRatio>0){yn(e);let t=e.closest(`.shelf-row > *`),n=t&&t.nextElementSibling;n&&Array.prototype.forEach.call(n.querySelectorAll(`img[data-src]`),yn)}else e.getAttribute(`src`)&&!e.complete&&e.removeAttribute(`src`)}},{rootMargin:`20% 0px`}),vn)}function xn(e){let t=I(null);return F(()=>{let e=t.current;e.getAttribute(`src`)&&e.removeAttribute(`src`);let n=bn();return n.observe(e),()=>n.unobserve(e)},[e.src]),M(`img`,{ref:t,"data-src":e.src,decoding:`async`,alt:e.alt||``,class:e.class,onLoad:e=>bn().unobserve(e.currentTarget),onError:e.onError})}var Sn={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 Cn(e){let t=I(null),[n,r]=P(!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":z(n?`password_hide`:`password_show`),onClick:()=>r(e=>!e),children:M(B,{name:n?`visibilityOff`:`visibility`})})]}):i]})}function B({name:e,class:t}){return M(`svg`,{class:t?`icon ${t}`:`icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:M(`path`,{d:Sn[e],fill:`currentColor`})})}function wn(e){let t=I(null),n=I(document.activeElement);return F(()=>(R(t.current),()=>{var e;return(e=n.current)==null?void 0:e.focus()}),[]),en(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||z(`ok`)}),M(`button`,{class:`btn`,"data-focus":!0,onClick:e.onDismiss,children:z(`cancel`)})]})]})})}var Tn=L(null),En;function V(e){Tn.value=e,clearTimeout(En),En=window.setTimeout(()=>Tn.value=null,2e3)}function Dn(){return Tn.value?M(`div`,{class:`toast`,children:Tn.value}):null}function On(e){let t=I(null),n=I(document.activeElement);F(()=>(R(t.current),()=>n.current&&n.current.isConnected&&n.current.focus()),[]),en(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(B,{name:`check`})]},n))})]})})}function kn(e){let[t,n]=P(``),r=I(void 0),i=I(e);return i.current=e,F(()=>()=>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 An({digits:e}){return e?M(`div`,{class:`number-box`,children:e}):null}function jn(e){let[t,n]=P(``),[r,i]=P(!1),a=I(null),o=I(document.activeElement);F(()=>(R(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 en((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?z(`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 Mn(e){let[t,n]=P(e.initial),r=I(null);return F(()=>{R(r.current)},[]),en(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(Cn,{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:z(`save`)})]})})}function Nn({text:e,onClose:t}){let n=I(null);return F(()=>{R(n.current)},[]),en(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:z(`ok`)})]})})}function Pn(e){let[t,n]=P(``),[r,i]=P(!1),[a,o]=P(null),s=I(null);return F(()=>{R(s.current)},[]),en(t=>{if(t===`back`)return e.onExit(),!0}),M(`div`,{class:`onboarding`,ref:s,children:M(`div`,{class:`onb-choose`,children:[M(`div`,{class:`onb-brand`,children:[M(`div`,{class:`brand-mark`,children:M(B,{name:`play`})}),M(`h1`,{children:z(`app_name`)}),M(`p`,{class:`tagline muted`,children:z(`onb_tagline`)})]}),M(`div`,{class:`onb-options access-form`,children:[M(`h2`,{children:z(`tz_access_title`)}),M(`p`,{class:`muted`,children:z(`tz_access_text`)}),M(Cn,{label:z(`tz_access_label`),value:t,onInput:n,password:!0,initial:!0}),M(`button`,{class:`btn primary connect`,"data-focus":!0,onClick:async()=>{let e=t.trim();if(!e||r)return;i(!0),o(null);let n=await Dt(e);i(!1),n===`ok`?(kt(e),Et.value=!0):o(n)},children:z(r?`tz_access_checking`:`tz_access_continue`)}),a&&M(`p`,{class:`error-box`,children:z(a===`wrong`?`tz_access_wrong`:`tz_access_offline`)})]})]})})}function Fn({title:e}){return M(`section`,{class:`placeholder`,children:[M(`h1`,{children:e}),M(`p`,{class:`muted`,children:z(`tz_coming_soon`)})]})}var In=Uint8Array,Ln=Uint16Array,Rn=Int32Array,zn=new In([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]),Bn=new In([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]),Vn=new In([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Hn=function(e,t){for(var n=new Ln(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new Rn(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}},Un=Hn(zn,2),Wn=Un.b,Gn=Un.r;Wn[28]=258,Gn[258]=28;var Kn=Hn(Bn,0),qn=Kn.b;Kn.r;for(var Jn=new Ln(32768),Yn=0;Yn<32768;++Yn){var Xn=(Yn&43690)>>1|(Yn&21845)<<1;Xn=(Xn&52428)>>2|(Xn&13107)<<2,Xn=(Xn&61680)>>4|(Xn&3855)<<4,Jn[Yn]=((Xn&65280)>>8|(Xn&255)<<8)>>1}for(var Zn=(function(e,t,n){for(var r=e.length,i=0,a=new Ln(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new Ln(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new Ln(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[Jn[d]>>c]=l}else for(s=new Ln(r),i=0;i<r;++i)e[i]&&(s[i]=Jn[o[e[i]-1]++]>>15-e[i]);return s}),Qn=new In(288),Yn=0;Yn<144;++Yn)Qn[Yn]=8;for(var Yn=144;Yn<256;++Yn)Qn[Yn]=9;for(var Yn=256;Yn<280;++Yn)Qn[Yn]=7;for(var Yn=280;Yn<288;++Yn)Qn[Yn]=8;for(var $n=new In(32),Yn=0;Yn<32;++Yn)$n[Yn]=5;var er=Zn(Qn,9,1),tr=Zn($n,5,1),nr=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},rr=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},ir=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},ar=function(e){return(e+7)/8|0},or=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new In(e.subarray(t,n))},sr=[`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`],cr=function(e,t,n){var r=Error(t||sr[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,cr),!n)throw r;return r},lr=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new In(0);var o=!n,s=o||t.i!=2,c=t.i;o&&(n=new In(i*3));var l=function(e){var t=n.length;if(e>t){var r=new In(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=rr(e,d,1);var v=rr(e,d+1,3);if(d+=3,!v){var y=ar(d)+4,b=e[y-4]|e[y-3]<<8,x=y+b;if(x>i){c&&cr(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=er,m=tr,h=9,g=5;else if(v==2){var S=rr(e,d,31)+257,C=rr(e,d+10,15)+4,ee=S+rr(e,d+5,31)+1;d+=14;for(var w=new In(ee),T=new In(19),te=0;te<C;++te)T[Vn[te]]=rr(e,d+te*3,7);d+=C*3;for(var E=nr(T),D=(1<<E)-1,O=Zn(T,E,1),te=0;te<ee;){var k=O[rr(e,d,D)];d+=k&15;var y=k>>4;if(y<16)w[te++]=y;else{var ne=0,re=0;for(y==16?(re=3+rr(e,d,3),d+=2,ne=w[te-1]):y==17?(re=3+rr(e,d,7),d+=3):y==18&&(re=11+rr(e,d,127),d+=7);re--;)w[te++]=ne}}var A=w.subarray(0,S),ie=w.subarray(S);h=nr(A),g=nr(ie),p=Zn(A,h,1),m=Zn(ie,g,1)}else cr(1);if(d>_){c&&cr(0);break}}s&&l(f+131072);for(var ae=(1<<h)-1,oe=(1<<g)-1,se=d;;se=d){var ne=p[ir(e,d)&ae],ce=ne>>4;if(d+=ne&15,d>_){c&&cr(0);break}if(ne||cr(2),ce<256)n[f++]=ce;else if(ce==256){se=d,p=null;break}else{var le=ce-254;if(ce>264){var te=ce-257,ue=zn[te];le=rr(e,d,(1<<ue)-1)+Wn[te],d+=ue}var j=m[ir(e,d)&oe],de=j>>4;j||cr(3),d+=j&15;var ie=qn[de];if(de>3){var ue=Bn[de];ie+=ir(e,d)&(1<<ue)-1,d+=ue}if(d>_){c&&cr(0);break}s&&l(f+131072);var M=f+le;if(f<ie){var fe=a-ie,N=Math.min(ie,M);for(fe+f<0&&cr(3);f<N;++f)n[f]=r[fe+f]}for(;f<M;++f)n[f]=n[f-ie]}}t.l=p,t.p=se,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?or(n,0,f):n.subarray(0,f)},ur=new In(0),dr=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&cr(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)},fr=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 In(32768),this.p=new In(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||cr(5),this.d&&cr(4),!this.p.length)this.p=e;else if(e.length){var t=new In(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=lr(this.p,this.s,this.o);this.ondata(or(n,t,this.s.b),this.d),this.o=or(n,this.s.b-32768),this.s.b=this.o.length,this.p=or(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),pr=function(){function e(e,t){this.v=1,this.r=0,fr.call(this,e,t)}return e.prototype.push=function(e,t){if(fr.prototype.e.call(this,e),this.r+=e.length,this.v){var n=this.p.subarray(this.v-1),r=n.length>3?dr(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}fr.prototype.c.call(this,0),this.s.f&&!this.s.l?(this.v=ar(this.s.p)+9,this.s={i:0},this.o=new In(0),this.push(new In(0),t)):t&&fr.prototype.c.call(this,t)},e}(),mr=typeof TextDecoder<`u`&&new TextDecoder;try{mr.decode(ur,{stream:!0})}catch(e){}function hr(e){"@babel/helpers - typeof";return hr=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},hr(e)}function gr(e,t){if(hr(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(hr(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function _r(e){var t=gr(e,`string`);return hr(t)==`symbol`?t:t+``}function vr(e,t,n){return(t=_r(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var yr=class extends Error{constructor(e,t){super(t||e),vr(this,`error`,void 0),this.error=e}},br=e=>`error_${e.toLowerCase()}`;function xr(e){return e instanceof yr?e.error:e&&e.name===`QuotaExceededError`?`STORAGE`:`UNKNOWN`}var Sr=e=>e,Cr=e=>e.trim().replace(/[.,]+$/,``);function wr(e,t){return new Promise((n,r)=>{let i=setTimeout(()=>r(new yr(`TIMEOUT`)),t);e.then(e=>{clearTimeout(i),n(e)},e=>{clearTimeout(i),r(e)})})}async function Tr(e,t=3e4){let n;try{n=await wr(fetch(Sr(e),{credentials:`omit`}),t)}catch(e){throw e instanceof yr?e:new yr(`NETWORK`,String(e))}if(n.ok)return n;throw n.status===401||n.status===403?new yr(`AUTH`):n.status===404?new yr(`NOT_FOUND`):n.status>=500?new yr(`SERVER`,String(n.status)):new yr(`NETWORK`,String(n.status))}async function Er(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 wr(i.read(),n);a===void 0&&r&&r.length&&(a=r[0]===31&&r[1]===139?new pr((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 yr?e:new yr(`NETWORK`,String(e))}}function Dr(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 H(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Dr(Object(n),!0).forEach(function(t){vr(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Or=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,kr=Object.keys,Ar=Array.isArray;function jr(e,t){return typeof t!=`object`||kr(t).forEach((function(n){e[n]=t[n]})),e}typeof Promise>`u`||Or.Promise||(Or.Promise=Promise);var Mr=Object.getPrototypeOf,Nr={}.hasOwnProperty;function Pr(e,t){return Nr.call(e,t)}function Fr(e,t){typeof t==`function`&&(t=t(Mr(e))),(typeof Reflect>`u`?kr:Reflect.ownKeys)(t).forEach((n=>{Lr(e,n,t[n])}))}var Ir=Object.defineProperty;function Lr(e,t,n,r){Ir(e,t,jr(n&&Pr(n,`get`)&&typeof n.get==`function`?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function Rr(e){return{from:function(t){return e.prototype=Object.create(t.prototype),Lr(e.prototype,`constructor`,e),{extend:Fr.bind(null,e.prototype)}}}}var zr=Object.getOwnPropertyDescriptor;function Br(e,t){let n;return zr(e,t)||(n=Mr(e))&&Br(n,t)}var Vr=[].slice;function Hr(e,t,n){return Vr.call(e,t,n)}function Ur(e,t){return t(e)}function Wr(e){if(!e)throw Error(`Assertion Failed`)}function Gr(e){Or.setImmediate?setImmediate(e):setTimeout(e,0)}function Kr(e,t){return e.reduce(((e,n,r)=>{var i=t(n,r);return i&&(e[i[0]]=i[1]),e}),{})}function qr(e,t){if(typeof t==`string`&&Pr(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=qr(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:qr(s,t.substr(o+1))}}function Jr(e,t,n){if(e&&t!==void 0&&(!(`isFrozen`in Object)||!Object.isFrozen(e))){if(typeof t!=`string`&&`length`in t){Wr(typeof n!=`string`&&`length`in n);for(var r=0,i=t.length;r<i;++r)Jr(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?Ar(e)&&!isNaN(parseInt(o))?e.splice(o,1):delete e[o]:e[o]=n;else{var c=e[o];c&&Pr(e,o)||(c=e[o]={}),Jr(c,s,n)}}else n===void 0?Ar(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}}function Yr(e){var t={};for(var n in e)Pr(e,n)&&(t[n]=e[n]);return t}var Xr=[].concat;function Zr(e){return Xr.apply([],e)}var Qr=`BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey`.split(`,`).concat(Zr([8,16,32,64].map((e=>[`Int`,`Uint`,`Float`].map((t=>t+e+`Array`)))))).filter((e=>Or[e])),$r=Qr.map((e=>Or[e]));Kr(Qr,(e=>[e,!0]));var ei=null;function ti(e){ei=typeof WeakMap<`u`&&new WeakMap;let t=ni(e);return ei=null,t}function ni(e){if(!e||typeof e!=`object`)return e;let t=ei&&ei.get(e);if(t)return t;if(Ar(e)){t=[],ei&&ei.set(e,t);for(var n=0,r=e.length;n<r;++n)t.push(ni(e[n]))}else if($r.indexOf(e.constructor)>=0)t=e;else{let n=Mr(e);for(var i in t=n===Object.prototype?{}:Object.create(n),ei&&ei.set(e,t),e)Pr(e,i)&&(t[i]=ni(e[i]))}return t}var{toString:ri}={};function ii(e){return ri.call(e).slice(8,-1)}var ai=typeof Symbol<`u`?Symbol.iterator:`@@iterator`,oi=typeof ai==`symbol`?function(e){var t;return e!=null&&(t=e[ai])&&t.apply(e)}:function(){return null},si={};function ci(e){var t,n,r,i;if(arguments.length===1){if(Ar(e))return e.slice();if(this===si&&typeof e==`string`)return[e];if(i=oi(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 li=typeof Symbol<`u`?e=>e[Symbol.toStringTag]===`AsyncFunction`:()=>!1,ui=typeof location<`u`&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function di(e,t){ui=e,fi=t}var fi=()=>!0,pi=!Error(``).stack;function mi(){if(pi)try{throw mi.arguments,Error()}catch(e){return e}return Error()}function hi(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(fi).map((e=>`
|
|
5
|
-
`+e)).join(``)):``}var gi=[`Unknown`,`Constraint`,`Data`,`TransactionInactive`,`ReadOnly`,`Version`,`NotFound`,`InvalidState`,`InvalidAccess`,`Abort`,`Timeout`,`QuotaExceeded`,`Syntax`,`DataClone`],_i=[`Modify`,`Bulk`,`OpenFailed`,`VersionChange`,`Schema`,`Upgrade`,`InvalidTable`,`MissingAPI`,`NoSuchDatabase`,`InvalidArgument`,`SubTransaction`,`Unsupported`,`Internal`,`DatabaseClosed`,`PrematureCommit`,`ForeignAwait`].concat(gi),vi={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 yi(e,t){this._e=mi(),this.name=e,this.message=t}function bi(e,t){return e+`. Errors: `+Object.keys(t).map((e=>t[e].toString())).filter(((e,t,n)=>n.indexOf(e)===t)).join(`
|
|
6
|
-
`)}function xi(e,t,n,r){this._e=mi(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=bi(e,t)}function Si(e,t){this._e=mi(),this.name=`BulkError`,this.failures=Object.keys(t).map((e=>t[e])),this.failuresByPos=t,this.message=bi(e,t)}Rr(yi).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+`: `+this.message+hi(this._e,2))}},toString:function(){return this.name+`: `+this.message}}),Rr(xi).from(yi),Rr(Si).from(yi);var Ci=_i.reduce(((e,t)=>(e[t]=t+`Error`,e)),{}),wi=yi,U=_i.reduce(((e,t)=>{var n=t+`Error`;function r(e,r){this._e=mi(),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=vi[t]||n,this.inner=null)}return Rr(r).from(wi),e[t]=r,e}),{});U.Syntax=SyntaxError,U.Type=TypeError,U.Range=RangeError;var Ti=gi.reduce(((e,t)=>(e[t+`Error`]=U[t],e)),{}),Ei=_i.reduce(((e,t)=>([`Syntax`,`Type`,`Range`].indexOf(t)===-1&&(e[t+`Error`]=U[t]),e)),{});function W(){}function Di(e){return e}function Oi(e,t){return e==null||e===Di?t:function(n){return t(e(n))}}function ki(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function Ai(e,t){return e===W?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?ki(r,this.onsuccess):r),i&&(this.onerror=this.onerror?ki(i,this.onerror):i),a===void 0?n:a}}function ji(e,t){return e===W?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?ki(n,this.onsuccess):n),r&&(this.onerror=this.onerror?ki(r,this.onerror):r)}}function Mi(e,t){return e===W?t:function(n){var r=e.apply(this,arguments);jr(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?ki(i,this.onsuccess):i),a&&(this.onerror=this.onerror?ki(a,this.onerror):a),r===void 0?o===void 0?void 0:o:jr(r,o)}}function Ni(e,t){return e===W?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function Pi(e,t){return e===W?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)}}Ei.ModifyError=xi,Ei.DexieError=yi,Ei.BulkError=Si;var Fi={},Ii=100,[Li,Ri,zi]=typeof Promise>`u`?[]:(()=>{let e=Promise.resolve();if(typeof crypto>`u`||!crypto.subtle)return[e,Mr(e),e];let t=crypto.subtle.digest(`SHA-512`,new Uint8Array([0]));return[t,Mr(t),e]})(),Bi=Ri&&Ri.then,Vi=Li&&Li.constructor,Hi=!!zi,Ui=!1,Wi=zi?()=>{zi.then(da)}:Or.setImmediate?setImmediate.bind(null,da):Or.MutationObserver?()=>{var e=document.createElement(`div`);new MutationObserver((()=>{da(),e=null})).observe(e,{attributes:!0}),e.setAttribute(`i`,`1`)}:()=>{setTimeout(da,0)},Gi=function(e,t){$i.push([e,t]),qi&&(Wi(),qi=!1)},Ki=!0,qi=!0,Ji=[],Yi=[],Xi=null,Zi=Di,Qi={id:`global`,global:!0,ref:0,unhandleds:[],onunhandled:Ia,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach((e=>{try{Ia(e[0],e[1])}catch(e){}}))}},G=Qi,$i=[],ea=0,ta=[];function K(e){if(typeof this!=`object`)throw TypeError(`Promises must be constructed via new`);this._listeners=[],this.onuncatched=W,this._lib=!1;var t=this._PSD=G;if(ui&&(this._stackHolder=mi(),this._prev=null,this._numPrev=0),typeof e!=`function`){if(e!==Fi)throw TypeError(`Not a function`);this._state=arguments[1],this._value=arguments[2],!1===this._state&&aa(this,this._value)}else this._state=null,this._value=null,++t.ref,ia(this,e)}var na={get:function(){var e=G,t=xa;function n(n,r){var i=!e.global&&(e!==G||t!==xa);let a=i&&!Ta();var o=new K(((t,o)=>{sa(this,new ra(Na(n,e,i,a),Na(r,e,i,a),t,o,e))}));return ui&&ua(o,this),o}return n.prototype=Fi,n},set:function(e){Lr(this,`then`,e&&e.prototype===Fi?na:{get:function(){return e},set:na.set})}};function ra(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 ia(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&&fa();t&&typeof t.then==`function`?ia(e,((e,n)=>{t instanceof K?t._then(e,n):t.then(e,n)})):(e._state=!0,e._value=t,oa(e)),n&&pa()}}),aa.bind(null,e))}catch(t){aa(e,t)}}function aa(e,t){if(Yi.push(t),e._state===null){var n=e._lib&&fa();t=Zi(t),e._state=!1,e._value=t,ui&&typeof t==`object`&&t&&!t._promise&&function(e,t,n){try{e.apply(null,n)}catch(e){t&&t(e)}}((()=>{var n=Br(t,`stack`);t._promise=e,Lr(t,`stack`,{get:()=>Ui?n&&(n.get?n.get.apply(t):n.value):e.stack})})),function(e){Ji.some((t=>t._value===e._value))||Ji.push(e)}(e),oa(e),n&&pa()}}function oa(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)sa(e,t[n]);var i=e._PSD;--i.ref||i.finalize(),ea===0&&(++ea,Gi((()=>{--ea==0&&ma()}),[]))}function sa(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,++ea,Gi(ca,[n,e,t])}else e._listeners.push(t)}function ca(e,t,n){try{Xi=t;var r,i=t._value;t._state?r=e(i):(Yi.length&&(Yi=[]),r=e(i),Yi.indexOf(i)===-1&&function(e){for(var t=Ji.length;t;)if(Ji[--t]._value===e._value)return void Ji.splice(t,1)}(t)),n.resolve(r)}catch(e){n.reject(e)}finally{Xi=null,--ea==0&&ma(),--n.psd.ref||n.psd.finalize()}}function la(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=hi(o,0)),t.push(i+(a?`: `+a:``)+r)}return ui&&((r=hi(e._stackHolder,2))&&t.indexOf(r)===-1&&t.push(r),e._prev&&la(e._prev,t,n)),t}function ua(e,t){var n=t?t._numPrev+1:0;n<100&&(e._prev=t,e._numPrev=n)}function da(){fa()&&pa()}function fa(){var e=Ki;return Ki=!1,qi=!1,e}function pa(){var e,t,n;do for(;$i.length>0;)for(e=$i,$i=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}while($i.length>0);Ki=!0,qi=!0}function ma(){var e=Ji;Ji=[],e.forEach((e=>{e._PSD.onunhandled.call(null,e._value,e)}));for(var t=ta.slice(0),n=t.length;n;)t[--n]()}function ha(e){return new K(Fi,!1,e)}function ga(e,t){var n=G;return function(){var r=fa(),i=G;try{return ka(n,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{ka(i,!1),r&&pa()}}}Fr(K.prototype,{then:na,_then:function(e,t){sa(this,new ra(null,null,e,t,G))},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):ha(e))):this.then(null,(e=>e&&e.name===t?n(e):ha(e)))},finally:function(e){return this.then((t=>(e(),t)),(t=>(e(),ha(t))))},stack:{get:function(){if(this._stack)return this._stack;try{Ui=!0;var e=la(this,[],20).join(`
|
|
8
|
-
From previous: `);return this._state!==null&&(this._stack=e),e}finally{Ui=!1}}},timeout:function(e,t){return e<1/0?new K(((n,r)=>{var i=setTimeout((()=>r(new U.Timeout(t))),e);this.then(n,r).finally(clearTimeout.bind(null,i))})):this}}),typeof Symbol<`u`&&Symbol.toStringTag&&Lr(K.prototype,Symbol.toStringTag,`Dexie.Promise`),Qi.env=Aa(),Fr(K,{all:function(){var e=ci.apply(null,arguments).map(Ea);return new K((function(t,n){e.length===0&&t([]);var r=e.length;e.forEach(((i,a)=>K.resolve(i).then((n=>{e[a]=n,--r||t(e)}),n)))}))},resolve:e=>{if(e instanceof K)return e;if(e&&typeof e.then==`function`)return new K(((t,n)=>{e.then(t,n)}));var t=new K(Fi,!0,e);return ua(t,Xi),t},reject:ha,race:function(){var e=ci.apply(null,arguments).map(Ea);return new K(((t,n)=>{e.map((e=>K.resolve(e).then(t,n)))}))},PSD:{get:()=>G,set:e=>G=e},totalEchoes:{get:()=>xa},newPSD:Ca,usePSD:ja,scheduler:{get:()=>Gi,set:e=>{Gi=e}},rejectionMapper:{get:()=>Zi,set:e=>{Zi=e}},follow:(e,t)=>new K(((n,r)=>Ca(((t,n)=>{var r=G;r.unhandleds=[],r.onunhandled=n,r.finalize=ki((function(){(function(e){function t(){e(),ta.splice(ta.indexOf(t),1)}ta.push(t),++ea,Gi((()=>{--ea==0&&ma()}),[])})((()=>{this.unhandleds.length===0?t():n(this.unhandleds[0])}))}),r.finalize),e()}),t,n,r)))}),Vi&&(Vi.allSettled&&Lr(K,`allSettled`,(function(){let e=ci.apply(null,arguments).map(Ea);return new K((t=>{e.length===0&&t([]);let n=e.length,r=Array(n);e.forEach(((e,i)=>K.resolve(e).then((e=>r[i]={status:`fulfilled`,value:e}),(e=>r[i]={status:`rejected`,reason:e})).then((()=>--n||t(r)))))}))})),Vi.any&&typeof AggregateError<`u`&&Lr(K,`any`,(function(){let e=ci.apply(null,arguments).map(Ea);return new K(((t,n)=>{e.length===0&&n(AggregateError([]));let r=e.length,i=Array(r);e.forEach(((e,a)=>K.resolve(e).then((e=>t(e)),(e=>{i[a]=e,--r||n(AggregateError(i))}))))}))})));var _a={awaits:0,echoes:0,id:0},va=0,ya=[],ba=0,xa=0,Sa=0;function Ca(e,t,n,r){var i=G,a=Object.create(i);a.parent=i,a.ref=0,a.global=!1,a.id=++Sa;var o=Qi.env;a.env=Hi?{Promise:K,PromiseProp:{value:K,configurable:!0,writable:!0},all:K.all,race:K.race,allSettled:K.allSettled,any:K.any,resolve:K.resolve,reject:K.reject,nthen:Pa(o.nthen,a),gthen:Pa(o.gthen,a)}:{},t&&jr(a,t),++i.ref,a.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=ja(a,e,n,r);return a.ref===0&&a.finalize(),s}function wa(){return _a.id||(_a.id=++va),++_a.awaits,_a.echoes+=Ii,_a.id}function Ta(){return!!_a.awaits&&(--_a.awaits==0&&(_a.id=0),_a.echoes=_a.awaits*Ii,!0)}function Ea(e){return _a.echoes&&e&&e.constructor===Vi?(wa(),e.then((e=>(Ta(),e)),(e=>(Ta(),La(e))))):e}function Da(e){++xa,_a.echoes&&--_a.echoes!=0||(_a.echoes=_a.id=0),ya.push(G),ka(e,!0)}function Oa(){var e=ya[ya.length-1];ya.pop(),ka(e,!1)}function ka(e,t){var n=G;if((t?!_a.echoes||ba++&&e===G:!ba||--ba&&e===G)||Ma(t?Da.bind(null,e):Oa),e!==G&&(G=e,n===Qi&&(Qi.env=Aa()),Hi)){var r=Qi.env.Promise,i=e.env;Ri.then=i.nthen,r.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(Or,"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 Aa(){var e=Or.Promise;return Hi?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(Or,`Promise`),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:Ri.then,gthen:e.prototype.then}:{}}function ja(e,t,n,r,i){var a=G;try{return ka(e,!0),t(n,r,i)}finally{ka(a,!1)}}function Ma(e){Bi.call(Li,e)}function Na(e,t,n,r){return typeof e==`function`?function(){var i=G;n&&wa(),ka(t,!0);try{return e.apply(this,arguments)}finally{ka(i,!1),r&&Ma(Ta)}}:e}function Pa(e,t){return function(n,r){return e.call(this,Na(n,t),Na(r,t))}}(``+Bi).indexOf(`[native code]`)===-1&&(wa=Ta=W);var Fa=`unhandledrejection`;function Ia(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(Or.document&&document.createEvent?((r=document.createEvent(`Event`)).initEvent(Fa,!0,!0),jr(r,i)):Or.CustomEvent&&jr(r=new CustomEvent(Fa,{detail:i}),i),r&&Or.dispatchEvent&&(dispatchEvent(r),!Or.PromiseRejectionEvent&&Or.onunhandledrejection))try{Or.onunhandledrejection(r)}catch(e){}ui&&r&&!r.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var La=K.reject;function Ra(e,t,n,r){if(e.idbdb&&(e._state.openComplete||G.letThrough||e._vip)){var i=e._createTransaction(t,n,e._dbSchema);try{i.create(),e._state.PR1398_maxLoop=3}catch(i){return i.name===Ci.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Ra(e,t,n,r)))):La(i)}return i._promise(t,((e,t)=>Ca((()=>(G.trans=i,r(e,t,i)))))).then((e=>i._completion.then((()=>e))))}if(e._state.openComplete)return La(new U.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return La(new U.DatabaseClosed);e.open().catch(W)}return e._state.dbReadyPromise.then((()=>Ra(e,t,n,r)))}var za=`3.2.7`,Ba=``,Va=-1/0,Ha=`Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.`,Ua=`String expected.`,Wa=[],Ga=typeof navigator<`u`&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),Ka=Ga,qa=Ga,Ja=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),Ya=`__dbnames`,Xa=`readonly`,Za=`readwrite`;function Qa(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}var $a={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function eo(e){return typeof e!=`string`||/\./.test(e)?e=>e:t=>(t[e]===void 0&&e in t&&delete(t=ti(t))[e],t)}var to=class{_trans(e,t,n){let r=this._tx||G.trans,i=this.name;function a(e,n,r){if(!r.schema[i])throw new U.NotFound(`Table `+i+` not part of transaction`);return t(r.idbtrans,r)}let o=fa();try{return r&&r.db===this.db?r===G.trans?r._promise(e,a,n):Ca((()=>r._promise(e,a,n)),{trans:r,transless:G.transless||G}):Ra(this.db,e,[this.name],a)}finally{o&&pa()}}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(Ar(e))return new this.db.WhereClause(this,`[${e.join(`+`)}]`);let t=kr(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!==Ba){let r=n.keyPath.slice(0,t.length);return this.where(r).equals(r.map((t=>e[t])))}!n&&ui&&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?Qa(n,o&&o.multi?e=>{let t=qr(e,i);return Ar(t)&&t.some((e=>a(s,e)))}:e=>a(s,qr(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,Ar(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(Pr(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){jr(this,e)}))}add(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=eo(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`add`,keys:t==null?null:[t],values:[i]}))).then((e=>e.numFailures?K.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{Jr(e,r,t)}catch(e){}return t}))}update(e,t){if(typeof e!=`object`||Ar(e))return this.where(`:id`).equals(e).modify(t);{let n=qr(e,this.schema.primKey.keyPath);if(n===void 0)return La(new U.InvalidArgument(`Given object does not contain its primary key`));try{typeof t==`function`?t(e,{value:e,primKey:n}):kr(t).forEach((n=>{Jr(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=eo(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`put`,values:[i],keys:t==null?null:[t]}))).then((e=>e.numFailures?K.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{Jr(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?K.reject(e.failures[0]):void 0))}clear(){return this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`deleteRange`,range:$a}))).then((e=>e.numFailures?K.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 U.InvalidArgument(`bulkAdd(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new U.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(eo(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 Si(`${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 U.InvalidArgument(`bulkPut(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new U.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(eo(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 Si(`${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 Si(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,r)}))}};function no(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=Ni),i||(i=W);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}kr(o=e).forEach((function(e){var t=o[e];if(Ar(t))a(e,o[e][0],o[e][1]);else{if(t!==`asap`)throw new U.InvalidArgument(`Invalid event config`);var n=a(e,Di,(function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach((function(e){Gr((function(){e.apply(null,t)}))}))}))}}))}}function ro(e,t){return Rr(t).from({prototype:e}),t}function io(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function ao(e,t){e.filter=Qa(e.filter,t)}function oo(e,t,n){var r=e.replayFilter;e.replayFilter=r?()=>Qa(r(),t()):t,e.justLimit=n&&!r}function so(e,t){if(e.isPrimKey)return t.primaryKey;let n=t.getIndexByKeyPath(e.index);if(!n)throw new U.Schema(`KeyPath `+e.index+` on object store `+t.name+` is not indexed`);return n}function co(e,t,n){let r=so(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 lo(e,t,n,r){let i=e.replayFilter?Qa(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)),Pr(a,s)||(a[s]=!0,t(e,n,r))}};return Promise.all([e.or._iterate(o,n),uo(co(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}return uo(co(e,r,n),Qa(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function uo(e,t,n,r){var i=ga(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=W}),(t=>{e.fail(t),n=W}))||i(e.value,e,(e=>n=e)),n()}))}))}function fo(e,t){try{let n=po(e),r=po(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}(mo(e),mo(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=fo(e[n],t[n]);if(r!==0)return r}return n===r?0:n<r?-1:1}(e,t)}}catch(e){}return NaN}function po(e){let t=typeof e;if(t!==`object`)return t;if(ArrayBuffer.isView(e))return`binary`;let n=ii(e);return n===`ArrayBuffer`?`binary`:n}function mo(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}var ho=class{_read(e,t){var n=this._ctx;return n.error?n.table._trans(null,La.bind(null,n.error)):n.table._trans(`readonly`,e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,La.bind(null,t.error)):t.table._trans(`readwrite`,e,`locked`)}_addAlgorithm(e){var t=this._ctx;t.algorithm=Qa(t.algorithm,e)}_iterate(e,t){return lo(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&jr(n,e),t._ctx=n,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read((n=>lo(t,e,n,t.table.core)))}count(e){return this._read((e=>{let t=this._ctx,n=t.table.core;if(io(t,!0))return n.count({trans:e,query:{index:so(t,n.schema),range:t.range}}).then((e=>Math.min(e,t.limit)));var r=0;return lo(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`&&io(t,!0)&&t.limit>0){let{valueMapper:n}=t,r=so(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 lo(t,(e=>n.push(e)),e,t.table.core).then((()=>n))}}),e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,io(t)?oo(t,(()=>{var t=e;return(e,n)=>t===0||(t===1?(--t,!1):(n((()=>{e.advance(t),t=0})),!1))})):oo(t,(()=>{var t=e;return()=>--t<0}))),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),oo(this._ctx,(()=>{var t=e;return function(e,n,r){return--t<=0&&n(r),t>=0}}),!0),this}until(e,t){return ao(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 ao(this._ctx,(function(t){return e(t.value)})),t=this._ctx,n=e,t.isMatch=Qa(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`&&io(t,!0)&&t.limit>0)return this._read((e=>{var n=so(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 ao(this._ctx,(function(e){var t=e.primaryKey.toString(),r=Pr(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=kr(e),a=i.length;r=function(t){for(var n=!1,r=0;r<a;++r){var o=i[r],s=e[o];qr(t,o)!==s&&(Jr(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 kr(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:ti(t),primKey:i[u+e]};!1!==r.call(n,n.value,n)&&(n.value==null?_.push(i[u+e]):s||fo(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=io(t)&&t.limit===1/0&&(typeof e!=`function`||e===go)&&{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===go)&&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 xi(`Error modifying one or more objects`,u,d,f);return i.length}))}))}))}delete(){var e=this._ctx,t=e.range;return io(e)&&(e.isPrimKey&&!qa||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 xi(`Could not delete some values`,Object.keys(e).map((t=>e[t])),t-i);return t-i}))))})):this.modify(go)}},go=(e,t)=>t.value=null;function _o(e,t){return e<t?-1:e===t?0:1}function vo(e,t){return e>t?-1:e===t?0:1}function yo(e,t,n){var r=e instanceof To?new e.Collection(e):e;return r._ctx.error=n?new n(t):TypeError(t),r}function bo(e){return new e.Collection(e,(()=>wo(``))).limit(0)}function xo(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 So(e,t,n,r){var i,a,o,s,c,l,u,d=n.length;if(!n.every((e=>typeof e==`string`)))return yo(e,Ua);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`?_o:vo;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,(()=>Co(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=xo(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 Co(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function wo(e){return{type:1,lower:e,upper:e}}var To=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)?bo(this):new this.Collection(this,(()=>Co(e,t,!n,!r)))}catch(e){return yo(this,Ha)}}equals(e){return e==null?yo(this,Ha):new this.Collection(this,(()=>wo(e)))}above(e){return e==null?yo(this,Ha):new this.Collection(this,(()=>Co(e,void 0,!0)))}aboveOrEqual(e){return e==null?yo(this,Ha):new this.Collection(this,(()=>Co(e,void 0,!1)))}below(e){return e==null?yo(this,Ha):new this.Collection(this,(()=>Co(void 0,e,!1,!0)))}belowOrEqual(e){return e==null?yo(this,Ha):new this.Collection(this,(()=>Co(void 0,e)))}startsWith(e){return typeof e==`string`?this.between(e,e+Ba,!0,!0):yo(this,Ua)}startsWithIgnoreCase(e){return e===``?this.startsWith(e):So(this,((e,t)=>e.indexOf(t[0])===0),[e],Ba)}equalsIgnoreCase(e){return So(this,((e,t)=>e===t[0]),[e],``)}anyOfIgnoreCase(){var e=ci.apply(si,arguments);return e.length===0?bo(this):So(this,((e,t)=>t.indexOf(e)!==-1),e,``)}startsWithAnyOfIgnoreCase(){var e=ci.apply(si,arguments);return e.length===0?bo(this):So(this,((e,t)=>t.some((t=>e.indexOf(t)===0))),e,Ba)}anyOf(){let e=ci.apply(si,arguments),t=this._cmp;try{e.sort(t)}catch(e){return yo(this,Ha)}if(e.length===0)return bo(this);let n=new this.Collection(this,(()=>Co(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([[Va,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=ci.apply(si,arguments);if(e.length===0)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return yo(this,Ha)}let t=e.reduce(((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[Va,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 bo(this);if(!e.every((e=>e[0]!==void 0&&e[1]!==void 0&&r(e[0],e[1])<=0)))return yo(this,`First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower`,U.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 yo(this,Ha)}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,(()=>Co(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=ci.apply(si,arguments);return e.every((e=>typeof e==`string`))?e.length===0?bo(this):this.inAnyRange(e.map((e=>[e,e+Ba]))):yo(this,`startsWithAnyOf() only works with strings`)}};function Eo(e){return ga((function(t){return Do(t),e(t.target.error),!1}))}function Do(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}var Oo=`storagemutated`,ko=`x-storagemutated-1`,Ao=no(null,Oo),jo=class{_lock(){return Wr(!G.global),++this._reculock,this._reculock!==1||G.global||(G.lockOwnerFor=this),this}_unlock(){if(Wr(!G.global),--this._reculock==0)for(G.global||(G.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{ja(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&G.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,n=this.db._state.dbOpenError;if(Wr(!this.idbtrans),!e&&!t)switch(n&&n.name){case`DatabaseClosedError`:throw new U.DatabaseClosed(n);case`MissingAPIError`:throw new U.MissingAPI(n.message,n);default:throw new U.OpenFailed(n)}if(!this.active)throw new U.TransactionInactive;return Wr(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=ga((t=>{Do(t),this._reject(e.error)})),e.onabort=ga((t=>{Do(t),this.active&&this._reject(new U.Abort(e.error)),this.active=!1,this.on(`abort`).fire(t)})),e.oncomplete=ga((()=>{this.active=!1,this._resolve(),`mutatedParts`in e&&Ao.storagemutated.fire(e.mutatedParts)})),this}_promise(e,t,n){if(e===`readwrite`&&this.mode!==`readwrite`)return La(new U.ReadOnly(`Transaction is readonly`));if(!this.active)return La(new U.TransactionInactive);if(this._locked())return new K(((r,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,n).then(r,i)},G])}));if(n)return Ca((()=>{var e=new K(((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 K(((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=K.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 K(((e,r)=>{n.then((n=>t._waitingQueue.push(ga(e.bind(null,n)))),(e=>t._waitingQueue.push(ga(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 U.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(Pr(t,e))return t[e];let n=this.schema[e];if(!n)throw new U.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 Mo(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?`++`:``)+No(t)}}function No(e){return typeof e==`string`?e:e?`[`+[].join.call(e,`+`)+`]`:``}function Po(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:Kr(n,(e=>[e.name,e]))}}var Fo=e=>{try{return e.only([[]]),Fo=()=>[[]],[[]]}catch(e){return Fo=()=>Ba,Ba}};function Io(e){return e==null?()=>{}:typeof e==`string`?function(e){return e.split(`.`).length===1?t=>t[e]:t=>qr(t,e)}(e):t=>qr(t,e)}function Lo(e){return[].slice.call(e)}var Ro=0;function zo(e){return e==null?`:id`:typeof e==`string`?e:`[${e.join(`+`)}]`}function Bo(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=Lo(e.objectStoreNames);return{schema:{name:e.name,tables:n.map((e=>t.objectStore(e))).map((e=>{let{keyPath:t,autoIncrement:n}=e,r=Ar(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:Io(t)},indexes:Lo(e.indexNames).map((t=>e.index(t))).map((e=>{let{name:t,unique:n,multiEntry:r,keyPath:i}=e,o={name:t,compound:Ar(i),keyPath:i,unique:n,multiEntry:r,extractKey:Io(i)};return a[zo(i)]=o,o})),getIndexByKeyPath:e=>a[zo(e)]};return a[`:id`]=o.primaryKey,t!=null&&(a[zo(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=ga(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,Do(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=ga(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=Eo(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=ga(r);let a=e.objectStore(t).get(n);a.onsuccess=e=>r(e.target.result),a.onerror=Eo(i)})),query:function(e){return n=>new Promise(((i,a)=>{i=ga(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=Eo(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=Eo(a)}}))}(a),openCursor:function({trans:e,values:n,query:i,reverse:a,unique:o}){return new Promise(((s,c)=>{s=ga(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=Eo(c),m.onsuccess=ga((t=>{let n=m.result;if(!n)return void s(null);n.___id=++Ro,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=ga(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=ga(e),m.onerror=Eo(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=ga((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=ga((t=>e(t.target.result))),u.onerror=Eo(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:Fo(t),schema:i}}function Vo({_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})=>H(H({},e),t(e))),e)}(Bo(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 Ho({_novip:e},t,n,r){n.forEach((n=>{let i=r[n];t.forEach((t=>{let r=Br(t,n);(!r||`value`in r&&r.value===void 0)&&(t===e.Transaction.prototype||t instanceof e.Transaction?Lr(t,n,{get(){return this.table(n)},set(e){Ir(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,i))}))}))}function Uo({_novip:e},t){t.forEach((t=>{for(let n in t)t[n]instanceof e.Table&&delete t[n]}))}function Wo(e,t){return e._cfg.version-t._cfg.version}function Go(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=G.transless||G;Ca((()=>{G.trans=a,G.transless=s,t===0?(kr(i).forEach((e=>{qo(n,e,i[e].primKey,i[e].indexes)})),Vo(e,n),K.follow((()=>e.on.populate.fire(a))).catch(o)):function({_novip:e},t,n,r){let i=[],a=e._versions,o=e._dbSchema=Yo(e,e.idbdb,r),s=!1,c=a.filter((e=>e._cfg.version>=t));function l(){return i.length?K.resolve(i.shift()(n.idbtrans)).then(l):K.resolve()}return c.forEach((a=>{i.push((()=>{let i=o,c=a._cfg.dbschema;Xo(e,i,r),Xo(e,c,r),o=e._dbSchema=c;let l=Ko(i,c);l.add.forEach((e=>{qo(r,e[0],e[1].primKey,e[1].indexes)})),l.change.forEach((e=>{if(e.recreate)throw new U.Upgrade(`Not yet support for changing primary key`);{let t=r.objectStore(e.name);e.add.forEach((e=>Jo(t,e))),e.change.forEach((e=>{t.deleteIndex(e.name),Jo(t,e)})),e.del.forEach((e=>t.deleteIndex(e)))}}));let u=a._cfg.contentUpgrade;if(u&&a._cfg.version>t){Vo(e,r),n._memoizedTables={},s=!0;let t=Yr(c);l.del.forEach((e=>{t[e]=i[e]})),Uo(e,[e.Transaction.prototype]),Ho(e,[e.Transaction.prototype],kr(t),t),n.schema=t;let a=li(u),o;a&&wa();let d=K.follow((()=>{if(o=u(n),o&&a){var e=Ta.bind(null,null);o.then(e,e)}}));return o&&typeof o.then==`function`?K.resolve(o):d.then((()=>o))}})),i.push((t=>{s&&Ka||(function(e,t){[].slice.call(t.db.objectStoreNames).forEach((n=>e[n]==null&&t.db.deleteObjectStore(n)))})(a._cfg.dbschema,t),Uo(e,[e.Transaction.prototype]),Ho(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),n.schema=e._dbSchema}))})),l().then((()=>{var e,t=r;kr(e=o).forEach((n=>{t.db.objectStoreNames.contains(n)||qo(t,n,e[n].primKey,e[n].indexes)}))}))}(e,t,a,n).catch(o)}))}function Ko(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&&!Ga)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 qo(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=>Jo(i,e))),i}function Jo(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function Yo(e,t,n){let r={};return Hr(t.objectStoreNames,0).forEach((e=>{let t=n.objectStore(e),i=t.keyPath,a=Mo(No(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=Mo(n.name,i,!!n.unique,!!n.multiEntry,!1,i&&typeof i!=`string`,!1);o.push(s)}r[e]=Po(e,a,o)})),r}function Xo({_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:`[`+Hr(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)&&Or.WorkerGlobalScope&&Or instanceof Or.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}var Zo=class{_parseStoresSpec(e,t){kr(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 Mo(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),Ar(r),t===0)})),i=r.shift();if(i.multi)throw new U.Schema(`Primary key cannot be multi-valued`);r.forEach((e=>{if(e.auto)throw new U.Schema(`Only primary key can be marked as autoIncrement (++)`);if(!e.keyPath)throw new U.Schema(`Index must have a name and cannot be an empty string`)})),t[n]=Po(n,i,r)}}))}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?jr(this._cfg.storesSource,e):e;let n=t._versions,r={},i={};return n.forEach((e=>{jr(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)})),t._dbSchema=i,Uo(t,[t._allTables,t,t.Transaction.prototype]),Ho(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],kr(i),i),t._storeNames=kr(i),this}upgrade(e){return this._cfg.contentUpgrade=Pi(this._cfg.contentUpgrade||W,e),this}};function Qo(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new xs(Ya,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:`name`})),n.table(`dbnames`)}function $o(e){return e&&typeof e.databases==`function`}function es(e){return Ca((function(){return G.letThrough=!0,e()}))}function ts(){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 ns(e){let t=e._state,{indexedDB:n}=e._deps;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then((()=>t.dbOpenError?La(t.dbOpenError):e));ui&&(t.openCanceller._stackHolder=mi()),t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;let r=t.openCanceller;function i(){if(t.openCanceller!==r)throw new U.DatabaseClosed(`db.open() was cancelled`)}let a=t.dbReadyResolve,o=null,s=!1,c=()=>new K(((r,a)=>{if(i(),!n)throw new U.MissingAPI;let c=e.name,l=t.autoSchema?n.open(c):n.open(c,Math.round(10*e.verno));if(!l)throw new U.MissingAPI;l.onerror=Eo(a),l.onblocked=ga(e._fireOnBlocked),l.onupgradeneeded=ga((r=>{if(o=l.transaction,t.autoSchema&&!e._options.allowEmptyDB){l.onerror=Do,o.abort(),l.result.close();let e=n.deleteDatabase(c);e.onsuccess=e.onerror=ga((()=>{a(new U.NoSuchDatabase(`Database ${c} doesnt exist`))}))}else{o.onerror=Eo(a);var i=r.oldVersion>2**62?0:r.oldVersion;s=i<1,e._novip.idbdb=l.result,Go(e,i/10,o,a)}}),a),l.onsuccess=ga((()=>{o=null;let n=e._novip.idbdb=l.result,i=Hr(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=Yo(0,t,n);e._storeNames=Hr(t.objectStoreNames,0),Ho(e,[e._allTables],kr(r),r)}(e,n,r):(Xo(e,e._dbSchema,r),function(e,t){let n=Ko(Yo(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.`)),Vo(e,r)}catch(e){}var a;Wa.push(e),n.onversionchange=ga((n=>{t.vcFired=!0,e.on(`versionchange`).fire(n)})),n.onclose=ga((t=>{e.on(`close`).fire(t)})),s&&function({indexedDB:e,IDBKeyRange:t},n){!$o(e)&&n!==Ya&&Qo(e,t).put({name:n}).catch(W)}(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()):K.reject(e)));return K.race([r,(typeof navigator>`u`?K.resolve():ts()).then(c)]).then((()=>(i(),t.onReadyBeingFired=[],K.resolve(es((()=>e.on.ready.fire(e.vip)))).then((function n(){if(t.onReadyBeingFired.length>0){let r=t.onReadyBeingFired.reduce(Pi,W);return t.onReadyBeingFired=[],K.resolve(es((()=>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(),La(n)})).finally((()=>{t.openComplete=!0,a()}))}function rs(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):Ar(a)?Promise.all(a).then(n,r):n(a)}}return i(t)()}function is(e,t,n){var r=arguments.length;if(r<2)throw new U.InvalidArgument(`Too few arguments`);for(var i=Array(r-1);--r;)i[r-1]=arguments[r];return n=i.pop(),[e,Zr(i),n]}function as(e,t,n,r,i){return K.resolve().then((()=>{let a=G.transless||G,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===Ci.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>as(e,t,n,null,i)))):La(r)}let c=li(i),l;c&&wa();let u=K.follow((()=>{if(l=i.call(o,o),l){if(c){var e=Ta.bind(null,null);l.then(e,e)}else typeof l.next==`function`&&typeof l.throw==`function`&&(l=rs(l))}}),s);return(l&&typeof l.then==`function`?K.resolve(l).then((e=>o.active?e:La(new U.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),La(e))))}))}function os(e,t,n){let r=Ar(e)?e.slice():[e];for(let e=0;e<n;++e)r.push(t);return r}var ss={stack:`dbcore`,name:`VirtualIndexMiddleware`,level:1,create:function(e){return H(H({},e),{},{table(t){let n=e.table(t),{schema:r}=n,i={},a=[];function o(e,t,n){let r=zo(e),s=i[r]=i[r]||[],c=e==null?0:typeof e==`string`?1:e.length,l=t>0,u=H(H({},n),{},{isVirtual:l,keyTail:t,keyLength:c,extractKey:Io(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?H(H({},t),{},{query:{index:n,range:(r=t.query.range,i=n.keyTail,{type:r.type===1?2:r.type,lower:os(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,i),lowerOpen:!0,upper:os(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,i),upperOpen:!0})}}):t;var r,i}return H(H({},n),{},{schema:H(H({},r),{},{primaryKey:s,indexes:a,getIndexByKeyPath:function(e){let t=i[zo(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(os(i,t.reverse?e.MAX_KEY:e.MIN_KEY,r))}},continuePrimaryKey:{value(t,i){n.continuePrimaryKey(os(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 cs(e,t,n,r){return n=n||{},r=r||``,kr(e).forEach((i=>{if(Pr(t,i)){var a=e[i],o=t[i];if(typeof a==`object`&&typeof o==`object`&&a&&o){let e=ii(a);e===ii(o)?e===`Object`?cs(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})),kr(t).forEach((i=>{Pr(e,i)||(n[r+i]=t[i])})),n}var ls={stack:`dbcore`,name:`HooksMiddleware`,level:2,create:e=>H(H({},e),{},{table(t){let n=e.table(t),{primaryKey:r}=n.schema;return H(H({},n),{},{mutate(e){let i=G.trans,{deleting:a,creating:o,updating:s}=i.table(t).hook;switch(e.type){case`add`:if(o.fire===W)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`put`:if(o.fire===W&&s.fire===W)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`delete`:if(a.fire===W)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`deleteRange`:if(a.fire===W)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=G.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`?H(H({},e),{},{keys:i}):H({},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||Jr(e.values[i],r.keyPath,n))}else{let r=cs(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=>{Pr(t,e)?t[e]=a[e]:Jr(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,H(H({},t),{},{lower:n[n.length-1],lowerOpen:!0}),i)))))}}})}})};function us(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)fo(t.keys[i],e[a])===0&&(r.push(n?ti(t.values[i]):t.values[i]),++a);return r.length===e.length?r:null}catch(e){return null}}var ds={stack:`dbcore`,level:-1,create:e=>({table:t=>{let n=e.table(t);return H(H({},n),{},{getMany:e=>{if(!e.cache)return n.getMany(e);let t=us(e.keys,e.trans._cache,e.cache===`clone`);return t?K.resolve(t):n.getMany(e).then((t=>(e.trans._cache={keys:e.keys,values:e.cache===`clone`?ti(t):t},t)))},mutate:e=>(e.type!==`add`&&(e.trans._cache=null),n.mutate(e))})}})};function fs(e){return!(`from`in e)}var ps=function(e,t){if(!this){let t=new ps;return e&&`d`in e&&jr(t,e),t}jr(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function ms(e,t,n){let r=fo(t,n);if(isNaN(r))return;if(r>0)throw RangeError();if(fs(e))return jr(e,{from:t,to:n,d:1});let i=e.l,a=e.r;if(fo(n,e.from)<0)return i?ms(i,t,n):e.l={from:t,to:n,d:1,l:null,r:null},vs(e);if(fo(t,e.to)>0)return a?ms(a,t,n):e.r={from:t,to:n,d:1,l:null,r:null},vs(e);fo(t,e.from)<0&&(e.from=t,e.l=null,e.d=a?a.d+1:1),fo(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&&hs(e,i),a&&o&&hs(e,a)}function hs(e,t){fs(t)||function e(t,{from:n,to:r,l:i,r:a}){ms(t,n,r),i&&e(t,i),a&&e(t,a)}(e,t)}function gs(e,t){let n=_s(t),r=n.next();if(r.done)return!1;let i=r.value,a=_s(e),o=a.next(i.from),s=o.value;for(;!r.done&&!o.done;){if(fo(s.from,i.to)<=0&&fo(s.to,i.from)>=0)return!0;fo(i.from,s.from)<0?i=(r=n.next(s.from)).value:s=(o=a.next(i.from)).value}return!1}function _s(e){let t=fs(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&&fo(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||fo(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 vs(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=H({},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=ys(n)}e.d=ys(e)}function ys({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}Fr(ps.prototype,{add(e){return hs(this,e),this},addKey(e){return ms(this,e,e),this},addKeys(e){return e.forEach((e=>ms(this,e,e))),this},[ai](){return _s(this)}});var bs={stack:`dbcore`,level:0,create:e=>{let t=e.schema.name,n=new ps(e.MIN_KEY,e.MAX_KEY);return H(H({},e),{},{table:r=>{let i=e.table(r),{schema:a}=i,{primaryKey:o}=a,{extractKey:s,outbound:c}=o,l=H(H({},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 ps)},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(Ar(f)){d!==`delete`&&(f=e.results),l.addKeys(f);let t=us(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&&Ar(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]);fo(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 ps((r=n.lower)==null?e.MIN_KEY:r,(i=n.upper)==null?e.MAX_KEY:i)]},d={get:e=>[o,new ps(e.key)],getMany:e=>[o,new ps().addKeys(e.keys)],count:u,query:u,openCursor:u};return kr(d).forEach((e=>{l[e]=function(a){let{subscr:o}=G;if(o){let l=e=>{let n=`idb://${t}/${r}/${e}`;return o[n]||(o[n]=new ps)},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(H(H({},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}})}},xs=class e{constructor(t,n){this._middlewares={},this.verno=0;let r=e.dependencies;this._options=n=H({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:W,dbReadyPromise:null,cancelOpen:W,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};var o;a.dbReadyPromise=new K((e=>{a.dbReadyResolve=e})),a.openCanceller=new K(((e,t)=>{a.cancelOpen=t})),this._state=a,this.name=t,this.on=no(this,`populate`,`blocked`,`versionchange`,`close`,{ready:[Pi,W]}),this.on.ready.subscribe=Ur(this.on.ready.subscribe,(t=>(n,r)=>{e.vip((()=>{let e=this._state;if(e.openComplete)e.dbOpenError||K.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,ro(ho.prototype,(function(e,t){this.db=o;let n=$a,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===Di?null:s}}))),this.Table=function(e){return ro(to.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:no(null,{creating:[Ai,W],reading:[Oi,Di],updating:[Mi,W],deleting:[ji,W]})}))}(this),this.Transaction=function(e){return ro(jo.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=no(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 K(((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(),La(e)}))}))}(this),this.Version=function(e){return ro(Zo.prototype,(function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}}))}(this),this.WhereClause=function(e){return ro(To.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 U.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=Fo(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),Wa.filter((e=>e.name===this.name&&e!==this&&!e._state.vcFired)).map((t=>t.on(`versionchange`).fire(e)))},this.use(ss),this.use(ls),this.use(bs),this.use(ds),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach((e=>e(this)))}version(e){if(isNaN(e)||e<.1)throw new U.Type(`Given version is not a positive number`);if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new U.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(Wo),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||G.letThrough||this._vip)?e():new K(((e,t)=>{if(this._state.openComplete)return t(new U.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new U.DatabaseClosed);this.open().catch(W)}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 ns(this)}_close(){let e=this._state,t=Wa.indexOf(this);if(t>=0&&Wa.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new K((t=>{e.dbReadyResolve=t})),e.openCanceller=new K(((t,n)=>{e.cancelOpen=n}))}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new U.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new K(((n,r)=>{let i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=ga((()=>{(function({indexedDB:e,IDBKeyRange:t},n){!$o(e)&&n!==Ya&&Qo(e,t).delete(n).catch(W)})(this._deps,this.name),n()})),e.onerror=Eo(r),e.onblocked=this._fireOnBlocked};if(e)throw new U.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 kr(this._allTables).map((e=>this._allTables[e]))}transaction(){let e=is.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,n){let r=G.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===Xa)a=Xa;else{if(e!=`rw`&&e!=Za)throw new U.InvalidArgument(`Invalid transaction mode: `+e);a=Za}if(r){if(r.mode===Xa&&a===Za){if(!i)throw new U.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 U.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)})):La(e)}let s=as.bind(null,this,a,o,r,n);return r?r._promise(a,s,`lock`):G.trans?ja(G.transless,(()=>this._whenReady(s))):this._whenReady(s)}table(e){if(!Pr(this._allTables,e))throw new U.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}},Ss=typeof Symbol<`u`&&`observable`in Symbol?Symbol.observable:`@@observable`,Cs=class{constructor(e){this._subscribe=e}subscribe(e,t,n){return this._subscribe(e&&typeof e!=`function`?e:{next:e,error:t,complete:n})}[Ss](){return this}};function ws(e,t){return kr(t).forEach((n=>{hs(e[n]||(e[n]=new ps),t[n])})),e}function Ts(e){let t,n=!1,r=new Cs((r=>{let i=li(e),a=!1,o={},s={},c={get closed(){return a},unsubscribe:()=>{a=!0,Ao.storagemutated.unsubscribe(f)}};r.start&&r.start(c);let l=!1,u=!1;function d(){return kr(s).some((e=>o[e]&&gs(o[e],s[e])))}let f=e=>{ws(o,e),d()&&p()},p=()=>{if(l||a)return;o={};let m={},h=function(t){i&&wa();let n=()=>Ca(e,{subscr:t,trans:null}),r=G.trans?ja(G.transless,n):n();return i&&r.then(Ta,Ta),r}(m);u||(Ao(Oo,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 Es;try{Es={indexedDB:Or.indexedDB||Or.mozIndexedDB||Or.webkitIndexedDB||Or.msIndexedDB,IDBKeyRange:Or.IDBKeyRange||Or.webkitIDBKeyRange}}catch(e){Es={indexedDB:null,IDBKeyRange:null}}var Ds=xs;function Os(e){let t=ks;try{ks=!0,Ao.storagemutated.fire(e)}finally{ks=t}}Fr(Ds,H(H({},Ei),{},{delete:e=>new Ds(e,{addons:[]}).delete(),exists:e=>new Ds(e,{addons:[]}).open().then((e=>(e.close(),!0))).catch(`NoSuchDatabaseError`,(()=>!1)),getDatabaseNames(e){try{return function({indexedDB:e,IDBKeyRange:t}){return $o(e)?Promise.resolve(e.databases()).then((e=>e.map((e=>e.name)).filter((e=>e!==Ya)))):Qo(e,t).toCollection().primaryKeys()}(Ds.dependencies).then(e)}catch(e){return La(new U.MissingAPI)}},defineClass:()=>function(e){jr(this,e)},ignoreTransaction:e=>G.trans?ja(G.transless,e):e(),vip:es,async:function(e){return function(){try{var t=rs(e.apply(this,arguments));return t&&typeof t.then==`function`?t:K.resolve(t)}catch(e){return La(e)}}},spawn:function(e,t,n){try{var r=rs(e.apply(n,t||[]));return r&&typeof r.then==`function`?r:K.resolve(r)}catch(e){return La(e)}},currentTransaction:{get:()=>G.trans||null},waitFor:function(e,t){let n=K.resolve(typeof e==`function`?Ds.ignoreTransaction(e):e).timeout(t||6e4);return G.trans?G.trans.waitFor(n):n},Promise:K,debug:{get:()=>ui,set:e=>{di(e,e===`dexie`?()=>!0:Ja)}},derive:Rr,extend:jr,props:Fr,override:Ur,Events:no,on:Ao,liveQuery:Ts,extendObservabilitySet:ws,getByKeyPath:qr,setByKeyPath:Jr,delByKeyPath:function(e,t){typeof t==`string`?Jr(e,t,void 0):`length`in t&&[].map.call(t,(function(t){Jr(e,t,void 0)}))},shallowClone:Yr,deepClone:ti,getObjectDiff:cs,cmp:fo,asap:Gr,minKey:Va,addons:[],connections:Wa,errnames:Ci,dependencies:Es,semVer:za,version:za.split(`.`).map((e=>parseInt(e))).reduce(((e,t,n)=>e+t/10**(2*n)))})),Ds.maxKey=Fo(Ds.dependencies.IDBKeyRange),typeof dispatchEvent<`u`&&typeof addEventListener<`u`&&(Ao(Oo,(e=>{if(!ks){let t;Ga?(t=document.createEvent(`CustomEvent`),t.initCustomEvent(ko,!0,!0,e)):t=new CustomEvent(ko,{detail:e}),ks=!0,dispatchEvent(t),ks=!1}})),addEventListener(ko,(({detail:e})=>{ks||Os(e)})));var ks=!1;if(typeof BroadcastChannel<`u`){let e=new BroadcastChannel(ko);typeof e.unref==`function`&&e.unref(),Ao(Oo,(t=>{ks||e.postMessage(t)})),e.onmessage=e=>{e.data&&Os(e.data)}}else if(typeof self<`u`&&typeof navigator<`u`){Ao(Oo,(e=>{try{ks||(typeof localStorage<`u`&&localStorage.setItem(ko,JSON.stringify({trig:Math.random(),changedParts:e})),typeof self.clients==`object`&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:ko,changedParts:e}))))}catch(e){}})),typeof addEventListener<`u`&&addEventListener(`storage`,(e=>{if(e.key===ko){let t=JSON.parse(e.newValue);t&&Os(t.changedParts)}}));let e=self.document&&navigator.serviceWorker;e&&e.addEventListener(`message`,(function({data:e}){e&&e.type===ko&&Os(e.changedParts)}))}K.rejectionMapper=function(e,t){if(!e||e instanceof yi||e instanceof TypeError||e instanceof SyntaxError||!e.name||!Ti[e.name])return e;var n=new Ti[e.name](t||e.message,e);return`stack`in e&&Lr(n,`stack`,{get:function(){return this.inner.stack}}),n},di(ui,Ja);var q=new class extends xs{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 As(...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 js={_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`]},Ms={_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:` |-:/●`},Ns=(()=>{try{return RegExp(`\\p{L}`,`u`).test(`ş`)}catch(e){return!1}})(),Ps=Ns?`\\p{L}`:`A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u024F\\u0370-\\u03FF\\u0400-\\u04FF\\u0590-\\u06FF\\u3040-\\u30FF\\u4E00-\\u9FFF\\uAC00-\\uD7AF`,Fs=(e,t=``)=>new RegExp(e.replace(/LETTER/g,Ps),Ns?t+`u`:t),Is=e=>{let t=RegExp(`[${Object.keys(e).join(``)}]`,`g`);return n=>n.replace(t,t=>e[t])},Ls=Is(Ms.fold),Rs=Is(Ms.normalizeFold),zs=e=>Ls(e.toLowerCase()),Bs=/\[[^\]]*\]|\([^)]*\)/g,Vs=RegExp(`(^|[^a-z])(${Ms.qualityTags.join(`|`)})(?![a-z])`,`g`),Hs=/^[a-z]{2,3}\s*[:|]\s*/,Us=Fs(`[^LETTER0-9]`,`g`);function Ws(e){return Rs(e.toLowerCase()).replace(Bs,` `).replace(Vs,`$1 `).replace(Hs,` `).replace(Us,``)}var Gs=/^\s*(?:\[([A-Za-z]{2,3})\]\s*[|:\-●•]*|([A-Za-z]{2,3})\s*[|:\-●•]+)\s*/;function Ks(e){let t=Gs.exec(e);return t?(t[1]||t[2]).toUpperCase():null}var qs=/\[([^\]]*)]|\(([^)]*)\)/g,Js=/^(?:19|20)\d{2}$/;function Ys(e){let t=[];return e.replace(qs,(e,n,r)=>{let i=(n||r||``).trim();return i&&!Js.test(i)&&t.push(i),``}),t.length?t.join(` · `):null}var Xs=e=>e.replace(qs,` `).trim();function Zs(e){let t=[];for(let n of e.split(` / `)){let e=Xs(n);e&&t.indexOf(e)<0&&t.push(e)}return t.length?t:[e]}var Qs=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),$s=(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 ec(e,t){if(!t.length)return e;let n=e;for(let e of t)n=n.replace(new RegExp(Qs(e),`gi`),` `);return n=$s(n.replace(/\s{2,}/g,` `),Ms.removeWordsTrim),n.trim()?n:e}var tc=Fs(`[LETTER]{2,}.*\\s(?:-|–|vs\\.?|v)\\s.*[LETTER]{2,}`,`i`);function nc(e){let t=e.toLowerCase();return tc.test(e)&&!js.notMatchWords.some(e=>t.indexOf(e)>=0)}var rc={_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`]}]},ic={_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:[]}]},ac=rc.platforms,oc=ic.genres.map(e=>e.key),sc=RegExp(`[${rc.separators.replace(/[\]\\\-^]/g,`\\$&`)}]`,`g`);function cc(e){let t=` `+zs(e).replace(sc,` `)+` `;for(let e of ac)if(e.keywords.some(e=>t.indexOf(e)>=0)&&!(e.excludes||[]).some(e=>t.indexOf(e)>=0))return e;return null}function lc(e){return e.logo?e.logo.startsWith(`https://`)?e.logo:`https://commons.wikimedia.org/wiki/Special:FilePath/${e.logo}?width=320`:null}function uc(e){let t=` `+zs(e)+` `,n=ic.genres.find(e=>e.keywords.some(e=>t.indexOf(e)>=0));return n?n.key:`OTHER`}function dc(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 fc(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 pc(e,t,n){let r=e.filter(e=>!e.hidden&&!e.locked),i=e=>e.map(e=>e.id),a=[];return t===`COUNTRY`?(fc(r,e=>(e.country===void 0?Ks(e.name):e.country)||n).forEach((e,t)=>a.push({key:`country:${t}`,categoryIds:i(e),country:t})),dc(a,(e,t)=>Number(t.country===n)-Number(e.country===n)||t.categoryIds.length-e.categoryIds.length)):t===`GENRE`?(fc(r,e=>uc(e.name)).forEach((e,t)=>a.push({key:`genre:${t}`,categoryIds:i(e),genre:t})),dc(a,(e,t)=>oc.indexOf(e.genre)-oc.indexOf(t.genre))):t===`PLATFORM`?(fc(r,e=>{var t,n;return(t=(n=cc(e.name))==null?void 0:n.key)==null?null:t}).forEach((e,t)=>{let n=ac.find(e=>e.key===t);a.push({key:`platform:${t}`,categoryIds:i(e),platform:n})}),dc(a,(e,t)=>ac.indexOf(e.platform)-ac.indexOf(t.platform))):a}var mc=e=>/^\s*()?#EXT(M3U|INF)/.test(e),hc=e=>e.split(/\s+/).filter(Boolean);async function gc(e){let t=hc(e);if(!t.length)throw new yr(`NOT_FOUND`);for(let e of t){let t=``;if(await Er(await Tr(e),e=>(t+=e,t.trim().length<16)),!mc(t))throw new yr(`PARSE`,`not m3u`)}}function _c(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 vc=(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`${_c(e.url)}/player_api.php?${r.join(`&`)}`},yc=(e,t,n)=>`${_c(e.url)}/movie/${e.username}/${e.password}/${t}.${n}`,bc=(e,t,n)=>`${_c(e.url)}/series/${e.username}/${e.password}/${t}.${n}`,xc=(e,t)=>{let n=e[t];return n==null||n===``||typeof n==`object`?null:String(n)},Sc=(e,t)=>{let n=parseFloat(xc(e,t)||``);return isNaN(n)?null:n};async function Cc(e){let t=``;await Er(await Tr(e),e=>{t+=e});try{let e=JSON.parse(t);return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}catch(e){throw new yr(`PARSE`,`json`)}}async function wc(e){let t=await Cc(vc(e)),n=t.user_info;if(!n||typeof n!=`object`||Sc(n,`auth`)===0)throw new yr(`AUTH`);let r=(xc(n,`status`)||``).toLowerCase();if(r===`expired`)throw new yr(`EXPIRED`);if(r&&r!==`active`)throw new yr(`AUTH`,r);return t}var Tc=new URL(`worker-VohmfNTb.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href,Ec=e=>/\.m3u8?$/i.test(e);function Dc(e){return new Promise(t=>e.listFiles(t,()=>t([])))}function Oc(e){return new Promise((t,n)=>tizen.filesystem.resolve(e,t,n,`r`))}async function kc(){let e=await new Promise(e=>tizen.filesystem.listStorages(e,()=>e([]))),t=[],n=async(e,r)=>{for(let i of await Dc(e))i.isDirectory?r<2&&!i.name.startsWith(`.`)&&await n(i,r+1):Ec(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 Oc(t.label),0)}catch(e){}return t}async function Ac(e){let t=await Oc(e);return new Promise((e,n)=>t.readAsText(e,n,`UTF-8`))}var jc=[`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`],Mc=[`HERO`,`CONTINUE`,`PLATFORMS`,`STARTING_SOON`,`TONIGHT_SPORTS`,`FAVORITE_CHANNELS`,`NEW_EPISODES`,`RECENT_CHANNELS`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`,`SCHEDULE`,`GENRES`],Nc={groupMode:`CATEGORY`,numbering:`GLOBAL`,previewAutoplay:!0,fallbackToPrevious:!0,aspect:`fit`,colorKeys:[`FAVORITE`,`AUDIO`,`SUBTITLES`,`ASPECT`],lastChannelId:null,homeShelves:Mc,knownShelves:Mc,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:[]},Pc=`utopya.settings`,Fc=[`HERO`,`CONTINUE`,`UP_NEXT`,`FAVORITE_CHANNELS`,`RECENT_CHANNELS`,`TONIGHT_SPORTS`,`SCHEDULE`,`PLATFORMS`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`];function Ic(e,t){if(JSON.stringify(e)===JSON.stringify(jc))return Mc.slice();let n=e.filter(e=>Mc.includes(e));return Mc.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(Mc[e]);if(t>=0){i=t+1;break}}n.splice(i,0,e)}),n}function Lc(){try{let e=JSON.parse(localStorage.getItem(Pc)||`{}`);return e.homeShelves&&(e.homeShelves=Ic(e.homeShelves,e.knownShelves||Fc)),H(H(H({},Nc),e),{},{knownShelves:Mc})}catch(e){return Nc}}var J=L(Lc()),Rc=()=>{J.value=Lc()};function zc(e){J.value=H(H({},J.value),e);try{localStorage.setItem(Pc,JSON.stringify(J.value))}catch(e){}}var Bc={blue:`#4FC3F7`,orange:`#FFA726`,green:`#66BB6A`,purple:`#B388FF`,red:`#FF5252`},Vc={navy:[`#090F1C`,`#132034`,`#16314A`,`#0E1A2D`],amoled:[`#000000`,`#0E0E0E`,`#1C1C1C`,`#000000`],graphite:[`#0E0F12`,`#1A1C21`,`#262A31`,`#16181D`],forest:[`#06120D`,`#0F2219`,`#183327`,`#0B1E15`],wine:[`#14070C`,`#241018`,`#351823`,`#1E0B12`]},Hc=e=>{let t=parseInt(e.slice(1),16);return`${t>>16}, ${t>>8&255}, ${t&255}`};function Uc(){let e=document.documentElement.style,[t,n,r,i]=Vc[J.value.theme],a=Bc[J.value.accent];e.setProperty(`--bg`,t),e.setProperty(`--surface`,n),e.setProperty(`--surface-variant`,r),e.setProperty(`--bg-top`,i),e.setProperty(`--glass`,`rgba(${Hc(n)}, 0.72)`),e.setProperty(`--accent`,a),e.setProperty(`--accent-rgb`,Hc(a))}J.subscribe(Uc);var Wc=L(null),Gc=L(null),Kc=L(null),qc=`utopya.activeProvider`;async function Jc(){let e=await q.providers.toArray(),t=null;try{t=Number(localStorage.getItem(qc))||null}catch(e){}return e.some(e=>e.id===t)||(t=e.length?e[0].id:null),Wc.value=e,Gc.value=t,e}function Yc(e){Gc.value=e;try{localStorage.setItem(qc,String(e))}catch(e){}}async function Xc(e,t){if(e.type===`xtream`)await wc(e);else if(t!==void 0){if(!/^\s*()?#EXT(M3U|INF)/.test(t.slice(0,64)))throw new yr(`PARSE`,`not m3u`)}else await gc(e.url)}function Zc(){let e=(Wc.value||[]).find(e=>e.id===Gc.value);e&&e.lastSync&&Date.now()-(e.lastEpgSync||0)>J.peek().epgHours*36e5&&tl(e.id,void 0,`epg`)}async function Qc(e){let t=await q.providers.add(e);return await Jc(),Yc(t),t}var $c=null;async function el(){if(new URL(Tc,location.href).origin===location.origin)return new Worker(Tc);let e=await(await fetch(Tc)).text();return new Worker(URL.createObjectURL(new Blob([e],{type:`text/javascript`})))}async function tl(e,t,n=`all`){let r=(Wc.value||[]).find(t=>t.id===e);if(n===`all`&&t===void 0&&r&&r.type===`m3u`&&/^file:/i.test(r.url))try{t=await Ac(r.url)}catch(t){Kc.value={providerId:e,failed:`NOT_FOUND`,detail:r.url};return}if(!$c){let e=await el();$c?e.terminate():$c=e}$c.onmessage===null&&($c.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`?Kc.value={providerId:t.providerId,stage:t.stage,count:t.count}:t.type===`done`?(Kc.value={providerId:t.providerId,stage:`DONE`,count:t.counts.live},Jc()):Kc.value={providerId:t.providerId,failed:t.error,detail:t.detail}},$c.onerror=e=>{console.error(`worker hatası`,e.message,e.filename,e.lineno);let t=Kc.value;t&&(Kc.value={providerId:t.providerId,failed:`UNKNOWN`,detail:e.message})}),Kc.value={providerId:e,stage:`CONNECTING`,count:0},$c.postMessage({type:`sync`,providerId:e,fileText:t,mode:n,epgOffsetMin:J.peek().epgOffsetMin})}var nl={name:``,url:``,username:``,password:``,epg:``,userAgent:``,liveFormat:`ts`};function rl(e,t,n){return n?n.name.replace(/\.m3u8?$/i,``):t.replace(/^[a-z]+:\/\//i,``).split(/[/:\s]/)[0]||(e===`xtream`?`Xtream`:`M3U`)}function il(e){let[t,n]=P({s:`choose`}),[r,i]=P(nl),[a,o]=P(null),[s,c]=P(null),[l,u]=P(!1),[d,f]=P(`xtream`),p=I(null);F(()=>{R(p.current)},[t.s,t.s===`form`?t.kind:``]);let m=e=>{f(e),c(null),u(!1),n({s:`form`,kind:e})};return en(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(ol,{open:m}),t.s===`form`&&M(dl,{kind:t.kind,form:r,edit:e=>i(H(H({},r),e)),file:a,pickFile:async()=>{Pt?n({s:`usb`}):al(e=>o(e))},error:s,missing:l,submit:async()=>{let e=d,t=e===`file`?(a==null?void 0:a.uri)||``:Cr(r.url);if(!t||e===`xtream`&&(!r.username.trim()||!r.password)){u(!0);return}u(!1),c(null);let i={name:r.name.trim()||rl(e,t,a),type:e===`xtream`?`xtream`:`m3u`,url:e===`xtream`?_c(t):t,username:r.username.trim(),password:r.password,epgUrls:r.epg.split(/[\s,]+/).map(Cr).filter(e=>/^https?:/i.test(e)),userAgent:r.userAgent.trim()||null,liveFormat:r.liveFormat,createdAt:Date.now()};n({s:`validating`});try{await Xc(i,a==null?void 0:a.text);let t=await Qc(i);tl(t,e===`file`?a.text:void 0),n({s:`sync`,providerId:t})}catch(t){console.warn(`doğrulama`,t),c(xr(t)),n({s:`form`,kind:e})}},back:()=>n({s:`choose`})}),t.s===`usb`&&M(fl,{onPick:async e=>{try{o({name:e.name,uri:e.path,text:await Ac(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:z(`onb_validating`)}),t.s===`sync`&&M(pl,{providerId:t.providerId,onDone:e.onDone,back:()=>m(d)})]})}function al(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 ol({open:e}){return M(`div`,{class:`onb-choose`,children:[M(`div`,{class:`onb-brand`,children:[M(`div`,{class:`brand-mark`,children:M(B,{name:`play`})}),M(`h1`,{children:z(`app_name`)}),M(`p`,{class:`tagline muted`,children:z(`onb_tagline`)}),M(`ul`,{class:`features`,children:[M(sl,{icon:`live`,text:z(`onb_feat_live`)}),M(sl,{icon:`movie`,text:z(`onb_feat_vod`)}),M(sl,{icon:`grid`,text:z(`tz_feat_tools`)})]}),M(`p`,{class:`note muted`,children:z(`onb_no_content`)})]}),M(`div`,{class:`onb-options`,children:[M(`h2`,{children:z(`onb_how`)}),M(cl,{icon:`dns`,tint:`#4FC3F7`,title:z(`onb_xtream`),desc:z(`onb_xtream_desc`),badge:z(`onb_badge_common`),initial:!0,onClick:()=>e(`xtream`)}),M(cl,{icon:`link`,tint:`#66BB6A`,title:z(`onb_m3u_url`),desc:z(`onb_m3u_url_desc`),onClick:()=>e(`m3u`)}),M(cl,{icon:`file`,tint:`#90A4AE`,title:z(`onb_m3u_file`),desc:z(`tz_m3u_file_desc`),onClick:()=>e(`file`)})]})]})}function sl({icon:e,text:t}){return M(`li`,{children:[M(`span`,{class:`feature-icon`,children:M(B,{name:e})}),t]})}function cl(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:ll(e.tint,.16)},children:M(B,{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:ll(e.tint,.2)},children:e.badge})]}),M(`span`,{class:`muted`,children:e.desc})]}),M(B,{name:`chevron`,class:`muted`})]})}var ll=(e,t)=>{let n=parseInt(e.slice(1),16);return`rgba(${n>>16}, ${n>>8&255}, ${n&255}, ${t})`};function ul({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(B,{name:`back`}),z(`back`)]}),M(`div`,{children:[M(`h1`,{children:e}),t&&M(`p`,{class:`muted`,children:t})]})]})}function dl(e){let{kind:t,form:n,edit:r}=e,[i,a]=t===`xtream`?[z(`onb_xtream`),z(`onb_hint_xtream`)]:t===`m3u`?[z(`onb_m3u_url`),z(`onb_hint_m3u`)]:[z(`onb_m3u_file`),z(`tz_hint_file`)];return M(`div`,{class:`form-step`,children:[M(ul,{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(Cn,{label:z(`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:z(`onb_file_chosen`,e.file.name)}),M(`button`,{class:`btn`,"data-focus":!0,"data-focus-default":!0,onClick:e.pickFile,children:[M(B,{name:`folder`}),z(`onb_pick_file`)]})]}),t===`xtream`&&M(x,{children:[M(Cn,{label:z(`onb_server`),value:n.url,onInput:e=>r({url:e}),placeholder:`http://server:8080`,initial:!0}),M(`div`,{class:`field-pair`,children:[M(Cn,{label:z(`onb_username`),value:n.username,onInput:e=>r({username:e})}),M(Cn,{label:z(`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:z(`onb_connect`)}),M(`h3`,{class:`muted`,children:z(`onb_optional`)}),M(Cn,{label:z(`onb_name`),value:n.name,onInput:e=>r({name:e}),placeholder:z(`onb_name_ph`)}),M(Cn,{label:z(`onb_epg`),value:n.epg,onInput:e=>r({epg:e}),placeholder:`http://…/epg.xml.gz`}),t!==`file`&&M(Cn,{label:z(`onb_user_agent`),value:n.userAgent,onInput:e=>r({userAgent:e})}),t===`xtream`&&M(`div`,{class:`field`,children:[M(`span`,{class:`field-label`,children:z(`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:z(`onb_required`)}),e.error&&M(`p`,{class:`error-box`,children:z(br(e.error))}),M(`div`,{class:`onb-help glass`,children:[M(`h3`,{children:z(`tz_onb_help_title`)}),M(`ul`,{children:[t!==`file`&&M(`li`,{children:z(`tz_onb_help_keyboard`)}),t===`xtream`&&M(`li`,{children:z(`tz_onb_help_server`)}),t===`xtream`&&M(`li`,{children:z(`tz_onb_help_creds`)}),t===`m3u`&&M(`li`,{children:z(`tz_onb_help_m3u`)}),t===`file`&&M(`li`,{children:z(`tz_onb_help_file`)}),M(`li`,{children:z(`tz_onb_help_epg`)}),M(`li`,{children:z(`tz_onb_help_privacy`)})]})]})]})]})]})}function fl({onPick:e,back:t}){let[n,r]=P(null),i=I(null);return F(()=>{kc().then(r,()=>r([]))},[]),F(()=>{n&&R(i.current)},[n]),M(`div`,{class:`form-step`,children:[M(ul,{title:z(`tz_usb_title`),back:t}),M(`div`,{class:`usb-list glass`,ref:i,children:[n===null&&M(`p`,{class:`muted`,children:z(`loading`)}),n&&!n.length&&M(`p`,{class:`muted`,children:z(`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(B,{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 pl({providerId:e,onDone:t,back:n}){let r=Kc.value,i=r&&r.providerId===e?r:null;F(()=>{i&&`stage`in i&&i.stage===`DONE`&&t()},[i]);let a=i&&`failed`in i?i:null,o=I(null);return F(()=>{R(o.current)},[!!a]),M(`div`,{class:`sync-step`,ref:o,children:[M(`h1`,{children:z(`sync_title`)}),a?M(x,{children:[M(`p`,{class:`error-text`,children:z(`sync_failed`)}),M(`p`,{children:z(br(a.failed))}),M(`div`,{class:`row`,children:[M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:()=>tl(e),children:z(`retry`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:n,children:z(`back`)})]})]}):M(x,{children:[M(`p`,{class:`stage`,children:ml(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:z(`sync_background`)})]})]})}function ml(e){switch(e&&e.stage){case`CATEGORIES`:return z(`sync_categories`);case`LIVE`:return z(`sync_live`,e.count);case`MOVIES`:return z(`sync_movies`,e.count);case`SERIES`:return z(`sync_series`,e.count);case`EPG`:return z(`sync_epg`,e.count);case`DONE`:return z(`sync_done`);default:return z(`sync_connecting`)}}function hl(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 gl(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:As(n,e*1e3),providerId:t,key:n,start:e*1e3,stop:o*1e3,title:hl(a.title),desc:hl(a.description)||null,category:null,stamp:r}))}return i.sort((e,t)=>e.start-t.start)}var _l=432e5;async function vl(e){let t=await q.epgLinks.get(e);return t?t.key:null}async function yl(e,t,n){let r=await vl(e);return r?(await q.programs.where(`[key+start]`).between([r,t-_l],[r,n],!0,!1).toArray()).filter(e=>e.stop>t):[]}async function bl(e,t,n){let r=await yl(e.id,t,n);return!r.some(e=>e.stop>Date.now())&&await Tl(e)&&(r=await yl(e.id,t,n)),r}var xl=(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 Sl(e,t=Date.now()){let n=await bl(e,t-1,t+432e5);return n.length?xl(n,t):xl(await Dl(e),t)}var Cl=e=>{let t=(Wc.value||[]).find(t=>t.id===e.providerId);return t&&t.type===`xtream`?t:null},wl=new Map;async function Tl(e){let t=Cl(e),n=wl.get(e.id)||0;if(!t||Date.now()-n<18e5)return!1;wl.set(e.id,Date.now());try{let n=await q.epgLinks.get(e.id);if(n&&n.manual)return!1;let r=await Cc(vc(t,`get_simple_data_table`,{stream_id:e.remoteId})),i=`${t.id}|xt:${e.remoteId}`,a=gl(r.epg_listings||[],t.id,i,Date.now());return a.some(e=>e.stop>Date.now())?(await q.programs.bulkPut(a),await q.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 El=new Map;async function Dl(e){let t=Cl(e);if(!t)return[];let n=El.get(e.id);if(n&&Date.now()-n.at<6e5)return n.list;let r=[];try{r=gl((await Cc(vc(t,`get_short_epg`,{stream_id:e.remoteId,limit:`4`}))).epg_listings||[],t.id,`${t.id}|xs:${e.remoteId}`,Date.now())}catch(e){}return El.delete(e.id),El.set(e.id,{at:Date.now(),list:r}),El.size>200&&El.delete(El.keys().next().value),r}var Ol=(e,t=Date.now())=>Math.max(0,Math.min(1,(t-e.start)/(e.stop-e.start))),kl=e=>e<10?`0${e}`:`${e}`,Al=e=>{let t=new Date(e);return`${kl(t.getHours())}:${kl(t.getMinutes())}`},jl=e=>`${Al(e.start)} – ${Al(e.stop)}`,Ml=L(Date.now());setInterval(()=>Ml.value=Date.now(),3e5);var Nl=[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 Pl(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)+Nl[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 Fl=new Set,Il=L(0),Ll=L(new Map),Rl=L(new Map);async function zl(e){let[t,n]=await Promise.all([q.catState.where(`providerId`).equals(e).toArray(),q.chanState.where(`providerId`).equals(e).toArray()]);Ll.value=new Map(t.map(e=>[e.id,e])),Rl.value=new Map(n.map(e=>[e.id,e])),Il.value++}function Bl(e){let t=Ll.value.get(e.id);return t&&t.locked!==void 0?t.locked:e.adult&&J.value.adultAutoLock}function Vl(e,t){return!J.value.pinHash||t!==void 0&&Fl.has(t)||e&&Fl.has(e.id)?!1:t!==void 0&&!!(Rl.value.get(t)||{}).locked||!!e&&Bl(e)}function Hl(e,t){e!==null&&Fl.add(e),t!==void 0&&Fl.add(t)}function Ul(e){let t=Ll.value.get(e.id);return!(t&&t.hidden||J.value.hideLocked&&J.value.pinHash&&Bl(e)&&!Fl.has(e.id))}var Wl=e=>!!(Rl.value.get(e)||{}).hidden;async function Gl(e,t,n,r){let i=q[e],a=await i.get(t)||{id:t,providerId:n};await i.put(H(H({},a),r)),await zl(n)}var Kl=(e,t,n)=>Gl(`catState`,e,t,n),ql=(e,t,n)=>Gl(`chanState`,e,t,n),Jl=e=>Pl(`utopya:${e}`),Yl=()=>!!J.peek().pinHash,Xl=e=>!J.peek().pinHash||Jl(e)===J.peek().pinHash;function Zl(e){Fl.clear(),zc({pinHash:e?Jl(e):null}),Il.value++}var Ql=e=>e.type===`cat`?`cat:${e.id}`:e.type===`ugroup`?`ug:${e.id}`:e.type===`group`?e.key:e.type,$l=50;async function eu(e,t){let n=await tu(e,t),r=(await q.categories.where(`[providerId+kind]`).equals([e,`live`]).toArray()).filter(e=>!Ul(e)),i=new Set;if(t.type!==`cat`)for(let e of r)for(let t of await q.channels.where(`[categoryId+number]`).between([e.id,xs.minKey],[e.id,xs.maxKey]).primaryKeys())i.add(t);return n.filter(e=>!i.has(e)&&!Wl(e))}async function tu(e,t){if(t.type===`all`)return q.channels.where(`[providerId+number]`).between([e,xs.minKey],[e,xs.maxKey]).primaryKeys();if(t.type===`cat`)return q.channels.where(`[categoryId+number]`).between([t.id,xs.minKey],[t.id,xs.maxKey]).primaryKeys();if(t.type===`group`){let e=[];for(let n of t.ids)await q.channels.where(`[categoryId+number]`).between([n,xs.minKey],[n,xs.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 q.groupItems.where(`groupId`).equals(t.id).toArray()).sort((e,t)=>e.order-t.order).map(e=>e.channelId):t.type===`fav`?(await q.favorites.where(`[providerId+kind]`).equals([e,`live`]).toArray()).sort((e,t)=>e.order-t.order).map(e=>e.id):(await q.recents.where(`[providerId+kind]`).equals([e,`live`]).toArray()).sort((e,t)=>t.at-e.at).slice(0,$l).map(e=>e.id)}var nu=class e{constructor(e){vr(this,`ids`,void 0),vr(this,`pages`,new Map),this.ids=e}page(t){let n=this.pages.get(t);return n||(n=q.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}};vr(nu,`PAGE`,40);async function ru(e,t,n){return await q.favorites.get(n)?(await q.favorites.delete(n),!1):(await q.favorites.put({id:n,providerId:e,kind:t,order:Date.now()}),!0)}async function iu(e,t,n){await q.recents.put({id:n,providerId:e,kind:t,at:Date.now()})}var au=e=>q.groups.where(`providerId`).equals(e).sortBy(`order`);async function ou(e,t){return q.groups.add({providerId:e,name:t,order:Date.now()})}var su=(e,t)=>q.groupItems.put({groupId:e,channelId:t,order:Date.now()}),cu=(e,t)=>q.groupItems.delete([e,t]);async function lu(e){await q.groupItems.where(`groupId`).equals(e).delete(),await q.groups.delete(e)}async function uu(e,t,n,r){if(r<0||r>=t.length)return;let[i,a]=await Promise.all([q.groupItems.get([e,t[n]]),q.groupItems.get([e,t[r]])]);i&&a&&await q.groupItems.bulkPut([H(H({},i),{},{order:a.order}),H(H({},a),{},{order:i.order})])}var Y=(e,t)=>{let n=e?e[t]:null;return n==null||n===``||typeof n==`object`?null:String(n)},du=(e,t)=>{let n=parseFloat(Y(e,t)||``);return isNaN(n)?null:n},fu=(e,t)=>{let n=e?e[t]:null;return Array.isArray(n)?typeof n[0]==`string`&&n[0]?n[0]:null:Y(e,t)};function pu(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 mu=e=>(Wc.value||[]).find(t=>t.id===e);async function hu(e){let t=mu(e.providerId);if(e.detailLoaded||!t||t.type!==`xtream`)return e;try{let n=await Cc(vc(t,`get_vod_info`,{vod_id:e.remoteId})),r=n.info,i=n.movie_data,a=Y(i,`container_extension`),o=du(r,`rating`),s={poster:e.poster||Y(r,`movie_image`)||Y(r,`cover_big`),backdrop:fu(r,`backdrop_path`)||e.backdrop||null,plot:Y(r,`plot`)||Y(r,`description`)||e.plot,cast:Y(r,`cast`)||Y(r,`actors`),director:Y(r,`director`),genre:Y(r,`genre`)||e.genre,year:(Y(r,`releasedate`)||Y(r,`release_date`)||``).slice(0,4)||e.year,rating:o&&o>0?o:e.rating,durationSec:du(r,`duration_secs`)||pu(Y(r,`duration`)),tmdbId:Y(r,`tmdb_id`)||Y(r,`tmdb`),url:a?yc(t,e.remoteId,a):e.url,detailLoaded:!0};return await q.movies.update(e.id,s),H(H({},e),s)}catch(t){return console.warn(`get_vod_info`,t),e}}async function gu(e){let t=mu(e.providerId),n=()=>q.episodes.where(`seriesId`).equals(e.id).toArray();if(e.detailLoaded||!t||t.type!==`xtream`)return{series:e,episodes:_u(await n())};try{let n=await Cc(vc(t,`get_series_info`,{series_id:e.remoteId})),r=n.info,i=du(r,`rating`),a={poster:e.poster||Y(r,`cover`),backdrop:fu(r,`backdrop_path`)||e.backdrop,plot:Y(r,`plot`)||e.plot,cast:Y(r,`cast`)||e.cast,genre:Y(r,`genre`)||e.genre,rating:i&&i>0?i:e.rating,tmdbId:Y(r,`tmdb_id`)||Y(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=Y(r,`id`);if(!a)return;let o=r.info,s=du(r,`season`)||(n?parseInt(n,10):0)||1;l.push({id:As(e.providerId,`episode`,a),providerId:e.providerId,stamp:c,seriesId:e.id,remoteId:a,season:s,episode:du(r,`episode_num`)||i+1,title:Y(r,`title`)||`S${s}E${i+1}`,url:bc(t,a,Y(r,`container_extension`)||`mp4`),poster:Y(o,`movie_image`)||null,plot:Y(o,`plot`),durationSec:du(o,`duration_secs`)||pu(Y(o,`duration`))})});return await q.transaction(`rw`,q.series,q.episodes,async()=>{await q.series.update(e.id,a),await q.episodes.where(`seriesId`).equals(e.id).delete(),await q.episodes.bulkPut(l)}),{series:H(H({},e),a),episodes:_u(l)}}catch(t){return console.warn(`get_series_info`,t),{series:e,episodes:_u(await n())}}}var _u=e=>e.sort((e,t)=>e.season-t.season||e.episode-t.episode),vu=.95;async function yu(e,t,n,r,i,a){if(!a||i<5e3)return;let o=i/a>=vu;await q.progress.put({id:t,providerId:n,kind:e,seriesId:r,position:o?0:i,duration:a,watched:o,updated:Date.now()})}async function bu(e,t,n,r,i){if(!i)return q.progress.delete(t);await q.progress.put({id:t,providerId:n,kind:e,seriesId:r,position:0,duration:0,watched:!0,updated:Date.now()})}var xu=e=>q.progress.get(e);async function Su(e){let t=await q.progress.bulkGet(e),n=new Map;return t.forEach(e=>e&&n.set(e.id,e)),n}async function Cu(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([hu(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)?H(H({},e),{},{item:r.get(e.item.id)}):e)}var wu=e=>e===`movie`?q.movies:q.series,Tu=e=>({key:`i${e.id}`,id:e.id,title:e.name,poster:e.poster,rating:e.rating,item:e});async function Eu(e,t){return q.categories.where(`[providerId+kind]`).equals([e,t]).sortBy(`order`)}async function Du(e,t,n=30){return wu(t).where(`[providerId+added]`).between([e,xs.minKey],[e,xs.maxKey]).reverse().limit(n).toArray()}async function Ou(e,t){let n=n=>n.where(`[categoryId+added]`).between([e,xs.minKey],[e,xs.maxKey]).reverse().limit(t).toArray(),r=await n(wu(`movie`));return r.length?r:n(wu(`series`))}async function ku(e,t){let n=(await q.favorites.where(`[providerId+kind]`).equals([e,t]).toArray()).sort((e,t)=>t.order-e.order);return(await wu(t).bulkGet(n.map(e=>e.id))).filter(e=>!!e)}async function Au(e,t){let n=(await q.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 q.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([q.series.get(e.seriesId),q.episodes.get(e.id)]);if(t&&a){let i=`S${ju(a.season)}E${ju(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 ju=e=>e<10?`0${e}`:`${e}`,Mu=new Map;async function Nu(e,t,n){let r=`${e}|${t}|${n}`,i=Mu.get(r);if(i)return i;try{let e=JSON.parse(localStorage.getItem(`genres|${r}`)||`null`);if(e)return Mu.set(r,e),e}catch(e){}let a=new Map;await wu(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);Mu.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 Pu(e){let t=new Map;for(let n of e){if(n.adult)continue;let e=cc(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 ac){let r=t.get(e.key);if(!r)continue;let i=[];for(let e of r)i.push(...await Ou(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 Fu(e,t,n,r){let i;if(n.favorites)i=await ku(e,t);else if(n.categoryIds){i=[];for(let e of n.categoryIds)i.push(...await Ou(e,1e5))}else i=await wu(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 Iu(e,t){return wu(t).where(`[providerId+vkey]`).equals([e.providerId,e.vkey]).toArray()}var Lu=()=>Math.floor((Date.now()-new Date(new Date().getFullYear(),0,0).getTime())/864e5);function Ru(e){let t=e.filter(e=>e.backdrop),n=(t.length?t:e).slice(0,10);return n.length?n[Lu()%n.length]:null}async function zu(e,t,n=20){let r=wu(t).where(`[providerId+rating]`),i=await r.between([e,0],[e,xs.maxKey],!1,!0).reverse().limit(n).toArray();return(i.length<n?i:await r.between([e,i[i.length-1].rating],[e,xs.maxKey],!0,!0).toArray()).sort((e,t)=>t.rating-e.rating||t.added-e.added).slice(0,n)}async function Bu(e,t){let n=(await eu(e,{type:t})).slice(0,t===`recent`?20:void 0),r=(await q.channels.bulkGet(n)).filter(e=>!!e);return Promise.all(r.map(async e=>({channel:e,now:(await Sl(e)).now})))}async function Vu(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 Eu(e,`live`)).filter(e=>!e.adult&&uc(e.name)===`SPORTS`),a=[];for(let e of i)if(a.push(...await q.channels.where(`[categoryId+number]`).between([e.id,xs.minKey],[e.id,xs.maxKey]).limit(300).toArray()),a.length>=300)break;let o=[],s=new Set,c=0;for(let e of a){let i=!!await q.epgLinks.get(e.id);if(!(!i&&c>=12)){i||c++;for(let i of await bl(e,r,n.getTime())){if(i.stop<=t||!nc(i.title))continue;let n=`${Ws(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 Hu(){let e=await q.reminders.where(`start`).above(Date.now()).limit(20).toArray(),t=await q.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 Uu(e){let[t,n]=await Promise.all([Eu(e,`movie`).then(e=>Pu(e)),Eu(e,`series`).then(e=>Pu(e))]),r=t.map(e=>H(H({},e),{},{kind:`movie`}));for(let e of n)r.some(t=>t.platform.key===e.platform.key)||r.push(H(H({},e),{},{kind:`series`}));let i=e=>ac.findIndex(t=>t.key===e);return r.sort((e,t)=>i(e.platform.key)-i(t.platform.key))}var Wu=`utopya.seriesSeen`,Gu=()=>{try{return JSON.parse(localStorage.getItem(Wu)||`{}`)}catch(e){return{}}};function Ku(e){let t=Gu();t[e]=Date.now();try{localStorage.setItem(Wu,JSON.stringify(t))}catch(e){}}var qu=Date.UTC(2001,0,1);async function Ju(e){let t=await q.favorites.where(`[providerId+kind]`).equals([e,`series`]).toArray(),n=await q.series.bulkGet(t.map(e=>e.id)),r=Gu(),i=[];for(let e=0;e<t.length;e++){let a=n[e];if(!a||a.added<qu)continue;let o=Math.max(t[e].order,r[a.id]||0);await q.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)}async function Yu(e){let t=Date.now(),n=t+18e5,r=(await eu(e,{type:`fav`})).slice(0,30),i=(await q.channels.bulkGet(r)).filter(e=>!!e),a=[];for(let e of i)for(let r of await bl(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 Xu=L(null),Zu=L(new Set),Qu=6e4;async function $u(){Zu.value=new Set(await q.reminders.toCollection().primaryKeys())}async function ed(e,t,n=0){let r=!await q.reminders.get(e.id)||n!==0;return r?await q.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 q.reminders.delete(e.id),await $u(),r}var td=async e=>{await q.reminders.delete(e),await $u()},nd={1:864e5,2:6048e5};function rd(){$u();let e=async()=>{if(Xu.peek())return;let e=await q.reminders.where(`start`).belowOrEqual(Date.now()+Qu).first();if(e){if(await q.reminders.delete(e.id),e.repeat){let t=nd[e.repeat],n=e.start+t;for(;n<Date.now();)n+=t;await q.reminders.put(H(H({},e),{},{id:-n,start:n,stop:e.stop===void 0?void 0:e.stop+(n-e.start)}))}await $u(),e.start>Date.now()-6e5&&(Xu.value=e)}};e(),setInterval(e,15e3)}function id({src:e,size:t,fallback:n=``}){let[r,i]=P(null);return M(`span`,{class:`channel-logo`,style:{width:`${t*1.4/10}rem`,height:`${t/10}rem`},children:[(!e||r===e)&&M(`span`,{class:`logo-fallback`,children:n.replace(/^(TR|UK|DE)\s*[|:]\s*/i,``).slice(0,4)}),e&&r!==e&&M(`img`,{src:e,alt:``,onError:()=>i(e)})]})}function ad({value:e,class:t}){return M(`span`,{class:`progress-line ${t||``}`,children:M(`span`,{style:{width:`${Math.round(e*100)}%`}})})}function od({text:e,active:t}){let n=I(null),r=I(null);return F(()=>{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 sd(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(id,{src:t?t.logo:null,size:30,fallback:t?t.name:``}):M(`span`,{class:`ch-logo-box`,children:M(id,{src:t?t.logo:null,size:32,fallback:t?t.name:``})}),M(`span`,{class:`ch-text`,children:[M(`span`,{class:`ch-name`,children:[M(od,{text:t?t.name:``,active:e.marquee}),e.favorite&&M(B,{name:`star`,class:`fav-star`})]}),e.program&&M(`span`,{class:`ch-program`,children:e.program.title}),e.program&&!e.compact&&M(ad,{value:Ol(e.program),class:`ch-progress`})]})]})}var cd=L({type:`all`}),ld=L(``),ud=L(null),dd=L(null),fd=L(new Set);async function pd(e){let t=await q.favorites.where(`[providerId+kind]`).equals([e,`live`]).primaryKeys();fd.value=new Set(t)}var md=L([]);function hd(e){let t=document.activeElement;md.value=[...md.value,{page:e,restore:t}],t&&t!==document.body&&t.blur()}function gd(){let e=md.value;if(!e.length)return;let t=e[e.length-1];md.value=e.slice(0,-1),setTimeout(()=>t.restore&&t.restore.isConnected?Kt(t.restore):Yt(),0)}var _d=e=>{let t=md.value;md.value=[...t.slice(0,-1),{page:e,restore:t.length?t[t.length-1].restore:null}]},X=L(`home`),vd=L(`live`),yd=0;function bd(e,t,n){dd.value={ids:e,index:t,archive:n,seq:++yd},X.value!==`player`&&(vd.value=X.value),X.value=`player`}var xd=()=>{X.value=vd.value};function Sd(e){let{pager:t,count:n,index:r}=e,[i,a]=P(new Map),[o,s]=P(0),c=e.listRef,l=c.current?Math.ceil(c.current.clientHeight/wd()/6):10;F(()=>{let e=o;r<o+2?e=Math.max(0,r-2):r>o+l-1-2&&(e=Math.max(0,Math.min(n-l,r-l+1+2))),e!==o&&s(e)},[r,n,l]);let u=Math.max(0,o-3),d=Math.min(n,o+l+3);F(()=>{if(!t)return;let e=!0;return t.range(u,d).then(t=>{if(!e)return;let n=new Map;t.forEach((e,t)=>n.set(u+t,e)),a(n)}),()=>{e=!1}},[t,u,d]),F(()=>{c.current&&(c.current.scrollTop=o*6*wd())},[o]);let[f,p]=P(new Map),m=Ml.value;F(()=>{let e=!0,t=[...i.values()].filter(e=>!!e),n=()=>{let e=new Map;for(let n of t){let t=Cd.get(n.id);t&&t.tick===m&&e.set(n.id,t.now)}return e};p(n());let r=t.filter(e=>{let t=Cd.get(e.id);return!t||t.tick!==m});if(!r.length)return;let a=setTimeout(()=>{Promise.all(r.map(e=>Sl(e).then(t=>{Cd.set(e.id,{tick:m,now:t.now})}))).then(()=>{e&&p(n())})},300);return()=>{e=!1,clearTimeout(a)}},[i,m]),F(()=>{if(!e.focused||!c.current)return;let t=c.current.querySelector(`[data-idx="${r}"]`);t&&document.activeElement!==t&&t.focus()},[r,u]),en(t=>{if(!c.current||!c.current.contains(document.activeElement))return;let i=t===`up`?-1:t===`down`?1:t===`chUp`?-l:t===`chDown`?l:0;if(!i)return;let a=Math.max(0,Math.min(n-1,r+i));return a===r?t!==`up`||!!e.compact:(e.setIndex(a),!0)});let h=fd.value,g=[];for(let t=u;t<d;t++){let n=i.get(t);g.push(M(sd,{compact:e.compact,current:t===e.current,pitch:6,channel:n,index:t,number:e.numberOf(n,t),favorite:!!n&&h.has(n.id),program:n&&f.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*6}rem`},children:g})})}var Cd=new Map,wd=()=>parseFloat(getComputedStyle(document.documentElement).fontSize),Td=e=>e&&e>0?`★ ${Math.round(e*10)/10}`:null,Ed=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}:{},Dd=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(` · `)},Od=e=>{if(e.episode)return`S${ju(e.episode.season)}E${ju(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 kd(e){let t=e.card;return M(`button`,H(H({onlongpress:e.onLongPress,class:`poster-card plain`,"aria-label":t.title,"data-focus":!0,"data-focus-initial":e.initial||void 0,"data-info-title":t.item?t.item.name:t.title,"data-info-meta":Dd(t)},Ed(t)),{},{onClick:e.onClick,children:[M(`span`,{class:`poster-fallback`,children:t.title}),t.poster&&M(xn,{src:_n(t.poster,342),onError:e=>e.currentTarget.style.display=`none`})]}))}function Ad(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=Od(t);return M(`button`,H(H({onlongpress:e.onLongPress,class:`wide-card`,"data-focus":!0,"data-focus-initial":e.initial||void 0},Ed(t)),{},{onClick:e.onClick,children:[i&&M(xn,{src:_n(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 jd({p:e,class:t}){let n=lc(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 Md({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(xn,{src:_n(e,342)},e))}),M(`span`,{class:`pt-shade`,style:{background:`linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.7) 60%, ${Nd(r.color,.85)})`}}),M(`span`,{class:`pt-logo`,children:M(jd,{p:r})})]})}var Nd=(e,t)=>{let n=parseInt(e.slice(1),16);return`rgba(${n>>16},${n>>8&255},${n&255},${t})`},Pd=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Fd(e,t){let n=new RegExp(Pd(t.name),`i`),r=n.test(e)?n:new RegExp(t.keywords.map(e=>Pd(e.trim())).filter(Boolean).join(`|`),`i`);return e.replace(r,``).replace(/^[\s·|\-:/+]+|[\s·|\-:/]+$/g,``)||e}function Id({title:e,children:t,info:n,cls:r,seeAll:i}){let a=I(null),[o,s]=P(null);F(()=>{let e=a.current,t=t=>{let n=t.target;e.scrollLeft=Math.max(0,n.offsetLeft-1.6*wd());let r=n.getAttribute(`data-info-title`);s(r?{title:r,meta:n.getAttribute(`data-info-meta`)||``}:null)},n=()=>setTimeout(()=>{e.contains(document.activeElement)||s(null)},0);return e.addEventListener(`focusin`,t),e.addEventListener(`focusout`,n),()=>{e.removeEventListener(`focusin`,t),e.removeEventListener(`focusout`,n)}},[]);let[c,l]=Oe(()=>{let t=cc(e);return[t,t?Fd(e,t):e]},[e]);return M(`section`,{class:r?`shelf ${r}`:`shelf`,children:[M(`h2`,{class:`shelf-title`,children:[c&&M(`span`,{class:`shelf-logo`,children:M(jd,{p:c})}),l,i&&M(`button`,{class:`shelf-all`,"data-focus":!0,onClick:i,children:`${z(`shelf_see_all`)} ›`})]}),M(`div`,{class:`shelf-row`,ref:a,"data-focus-group":`shelf-${e}`,children:t}),n&&M(`p`,{class:`shelf-info`,children:[o&&M(`b`,{children:o.title}),o&&o.meta&&M(`span`,{children:` ${o.meta}`})]})]})}function Ld(e,t){t.episode?hd({name:`vod`,kind:`episode`,id:t.episode.id,seriesId:t.id}):t.progress!==void 0&&e===`movie`?hd({name:`vod`,kind:`movie`,id:t.id}):hd(e===`movie`?{name:`movie`,id:t.id}:{name:`series`,id:t.id})}var Rd=350,zd=()=>{let e=new Date().getHours();return z(e>=5&&e<=11?`home_greeting_morning`:e>=12&&e<=17?`home_greeting_day`:`home_greeting_evening`)};function Bd({providerId:e}){let n=Wc.value||[],r=n.find(t=>t.id===e),[i,a]=P(null),[o,s]=P(null),[c,l]=P(0),u=I(null),d=I(null),f=I(null),p=Oe(()=>L(null),[]),m=I(void 0),h=I(!1),g=()=>l(e=>e+1),_=md.value.length,v=I(!1);F(()=>{_===0&&v.current&&g(),v.current=_>0},[_]),F(()=>{if(_>0)return;let n=!0;(async()=>{let i=performance.now(),o=t(`türler`,Nu(e,`movie`,r&&r.lastSync||0)),[s,c,l,u,d,f,p,m,h,g,_]=await Promise.all([t(`devam film`,Au(e,`movie`)),t(`devam dizi`,Au(e,`series`)),t(`en iyi film`,zu(e,`movie`)),t(`platformlar`,Uu(e)),t(`yeni bölüm`,Ju(e)),t(`favori kanal`,Bu(e,`fav`)),t(`son kanal`,Bu(e,`recent`)),t(`yayın akışı`,Hu()),t(`yeni film`,Du(e,`movie`,20)),t(`yeni dizi`,Du(e,`series`,20)),t(`en iyi dizi`,zu(e,`series`))]);`${Math.round(performance.now()-i)}`;let v={hero:Ru(l),cont:[...s,...c].sort((e,t)=>(t.updated||0)-(e.updated||0)).slice(0,20),up:[],newEps:d.map(e=>H(H({},Tu(e)),{},{key:`n${e.id}`,badge:z(`home_new_episode_badge`)})),forYou:null,soon:[],genres:[],favs:f,recents:p,tonight:[],schedule:m,tiles:u,newMovies:h,newSeries:g,topMovies:l,topSeries:_};if(!n)return;a(v);let y=()=>{n&&a(H({},v))};o.then(e=>{v.genres=e,e.length&&y()});let b=await t(`arka planlar`,Cu(v.cont));n&&(b!==v.cont&&(v.cont=b,y()),v.soon=await t(`birazdan`,Yu(e)),n&&(y(),v.tonight=await t(`bu akşam`,Vu(e)),y()))})();let i=()=>g();return window.addEventListener(`utopya:progress`,i),()=>{n=!1,window.removeEventListener(`utopya:progress`,i)}},[e,r&&r.lastSync,c,_===0]),F(()=>{let e=()=>{h.current=!0};return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[]);let y=I(Date.now()),b=I(!1),S=I(void 0);F(()=>{i&&!b.current&&(b.current=!0,S.current=window.setTimeout(()=>{if(h.current||md.peek().length)return;let e=document.activeElement;(!e||e===document.body||e.closest(`.topbar`))&&R(f.current)},Math.max(0,1200-(Date.now()-y.current))))},[i]),F(()=>()=>clearTimeout(S.current),[]);let C=async(t,n)=>{let r=await eu(e,{type:t}),i=r.indexOf(n);i>=0&&bd(r,i)},ee={HERO:()=>null,CONTINUE:()=>i.cont.length?M(Id,{title:z(`shelf_continue`),children:i.cont.map(e=>M(Ad,{card:e,onClick:()=>Ld(e.episode?`series`:`movie`,e),onLongPress:()=>s({title:e.title,items:[{label:z(`menu_open`),onSelect:()=>Ld(e.episode?`series`:`movie`,e)},{label:z(`menu_remove_continue`),onSelect:async()=>{await q.progress.delete(e.episode?e.episode.id:e.id),g()}}]})},e.key))}):null,UP_NEXT:()=>i.up.length?M(Id,{title:z(`home_up_next`),children:i.up.map(e=>{let t=()=>hd({name:`vod`,kind:`episode`,id:e.episode.id,seriesId:e.id,startMs:0});return M(Ad,{card:e,onClick:t,onLongPress:()=>s({title:e.title,items:[{label:z(`menu_open`),onSelect:t},{label:z(`menu_remove_up_next`),onSelect:async()=>{await q.progress.where(`seriesId`).equals(e.id).delete(),g()}}]})},e.key)})}):null,NEW_EPISODES:()=>i.newEps.length?M(Id,{title:z(`home_new_episodes`),children:i.newEps.map(e=>M(Ad,{card:e,onClick:()=>hd({name:`series`,id:e.id}),onLongPress:()=>s({title:e.title,items:[{label:z(`home_dismiss_new`),onSelect:()=>{Ku(e.id),g()}}]})},e.key))}):null,FOR_YOU:()=>i.forYou&&i.forYou.items.length?O(z(`home_for_you_genres`,i.forYou.genres.join(`, `)),i.forYou.items,`movie`,`rating`,{genre:i.forYou.genres[0]}):null,STARTING_SOON:()=>i.soon.length?M(Id,{title:z(`home_starting_soon`),children:i.soon.map(e=>M(Gd,{pc:e,badge:Zu.value.has(e.program.id)?z(`home_reminder_badge`):void 0,onClick:async()=>V(z(await ed(e.program,e.channel)?`guide_reminder_set`:`guide_reminder_removed`)),onLongPress:()=>s({title:e.title,items:[{label:z(`home_open_channel`),onSelect:()=>C(`fav`,e.channel.id)}]})},e.key))}):null,GENRES:()=>i.genres.length?M(Id,{title:z(`home_genres`),children:i.genres.map(e=>M(`button`,{class:`chip genre-chip`,"data-focus":!0,onClick:()=>hd({name:`browse`,kind:`movie`,title:e,filter:{genre:e}}),children:e},e))}):null,FAVORITE_CHANNELS:()=>i.favs.length?M(Id,{title:z(`home_favorite_channels`),children:i.favs.map(t=>M(Wd,{cc:t,onClick:()=>C(`fav`,t.channel.id),onLongPress:()=>s({title:t.channel.name,items:[{label:z(`menu_remove_favorite`),onSelect:async()=>{await ru(e,`live`,t.channel.id),g()}}]})},t.channel.id))}):null,RECENT_CHANNELS:()=>i.recents.length?M(Id,{title:z(`home_recent_channels`),children:i.recents.map(e=>M(Wd,{cc:e,onClick:()=>C(`recent`,e.channel.id),onLongPress:()=>s({title:e.channel.name,items:[{label:z(`menu_remove_recent`),onSelect:async()=>{await q.recents.delete(e.channel.id),g()}}]})},e.channel.id))}):null,TONIGHT_SPORTS:()=>i.tonight.length?M(Id,{title:z(`home_tonight`),children:i.tonight.map(e=>M(Gd,{pc:e,onClick:()=>e.channel&&C(`all`,e.channel.id)},e.key))}):null,SCHEDULE:()=>i.schedule.length?M(Id,{title:z(`home_schedule`),children:i.schedule.map(e=>M(Gd,{pc:e,onClick:()=>e.channel&&C(`all`,e.channel.id)},e.key))}):null,PLATFORMS:()=>i.tiles.length?M(Id,{title:z(`shelf_platforms`),children:i.tiles.map(e=>M(Md,{tile:e,onClick:()=>hd({name:`browse`,kind:e.kind,title:e.platform.name,filter:{categoryIds:e.categoryIds,platformKey:e.platform.key}})},e.platform.key))}):null,NEW_MOVIES:()=>O(z(`home_new_movies`),i.newMovies,`movie`,`added`),NEW_SERIES:()=>O(z(`home_new_series`),i.newSeries,`series`,`added`),TOP_RATED:()=>i.topMovies.length||i.topSeries.length?M(x,{children:[O(z(`home_top_movies`),i.topMovies,`movie`,`rating`),O(z(`home_top_series`),i.topSeries,`series`,`rating`)]}):null},w=i?J.value.homeShelves.filter(e=>e in ee).map(e=>({k:e,el:ee[e]()})).filter(e=>e.el):[],T=i&&i.hero?{kind:`movie`,item:i.hero}:null,te=!!T&&J.value.homeShelves.indexOf(`HERO`)>=0,E=e=>{let t=e.target.closest(`[data-hero-id]`);if(!t)return;clearTimeout(m.current);let n=t.getAttribute(`data-hero-kind`),r=Number(t.getAttribute(`data-hero-id`)),i=Number(t.getAttribute(`data-hero-ep`));m.current=window.setTimeout(async()=>{if(n===`movie`){let e=await q.movies.get(r);e&&(p.value={kind:n,item:await hu(e)})}else{let e=await q.series.get(r);if(e){let t=await gu(e);p.value={kind:n,item:t.series,episode:t.episodes.find(e=>e.id===i)}}}},Rd)};F(()=>()=>clearTimeout(m.current),[]);let D=M(`div`,{class:`home-actions`,children:[M(`button`,{class:`round-btn`,"data-focus":!0,"aria-label":z(`home_edit`),title:z(`home_edit`),onClick:()=>hd({name:`homeEdit`}),children:M(B,{name:`edit`})}),n.length>1&&M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>s({title:z(`home_switch_source`),items:n.map(t=>({label:t.name,checked:t.id===e,onSelect:()=>Yc(t.id)}))}),children:z(`home_switch_source`)})]});return M(`div`,{class:`home ux-home`,ref:u,children:[te?M(Ud,{hero:p,fallback:T,actions:D}):M(`div`,{class:`home-head`,children:[M(`div`,{children:[M(`span`,{class:`ux-eyebrow`,children:zd()}),i&&(i.recents.length>0||i.cont.length>0)&&M(`h1`,{children:z(`ux_welcome`)})]}),M(`span`,{class:`spacer`}),r&&M(`span`,{class:`muted`,children:z(`ux_source`,r.name)}),D]}),M(`div`,{class:`home-shelves`,ref:d,onFocusCapture:E,children:M(`div`,{class:`home-list`,ref:f,children:[!i&&M(`p`,{class:`home-empty`,children:z(`ux_loading`)}),i&&!w.length&&M(`p`,{class:`home-empty`,children:z(`home_empty`)}),w.map(e=>M(`div`,{class:`home-block`,children:e.el},e.k))]})}),o&&M(On,{title:o.title,items:o.items,onClose:()=>s(null)})]});function O(e,t,n,r,i={all:!0}){if(!t.length)return null;let a=()=>hd({name:`browse`,kind:n,title:e,filter:i,sort:r});return n===`series`?M(Id,{title:e,seeAll:a,children:t.map(e=>{let t=Tu(e);return M(Ad,{card:t,onClick:()=>Ld(n,t)},t.key)})}):M(Id,{title:e,seeAll:a,children:t.map(e=>{let t=Tu(e);return M(kd,{card:t,onClick:()=>Ld(n,t)},t.key)})})}}var Vd=e=>e.split(` / `)[0].replace(/\s*\(\d{4}\)\s*$/,``);async function Hd(e){if(e.kind===`movie`){hd({name:`vod`,kind:`movie`,id:e.item.id});return}let t=e.episode||(await gu(e.item)).episodes[0];hd(t?{name:`vod`,kind:`episode`,id:t.id,seriesId:e.item.id}:{name:`series`,id:e.item.id})}function Ud({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&&_n(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:``,decoding:`async`},o)}),M(`div`,{class:`hero2-actions`,children:n}),M(`div`,{class:`hero2-info`,children:[M(`span`,{class:`hero2-kind`,children:z(r.kind===`movie`?`home_kind_movie`:`home_kind_series`)}),M(`h2`,{class:`hero2-title`,children:Vd(i.name)}),M(`p`,{class:`hero2-meta`,children:[s&&M(`b`,{children:`★ ${hn.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:()=>Hd(r),children:z(`vod_play`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>hd(r.kind===`movie`?{name:`movie`,id:i.id}:{name:`series`,id:i.id}),children:z(`home_details`)})]})]})]})}function Wd({cc:e,onClick:t,onLongPress:n}){let r=e.channel;return M(`div`,{class:`channel-tile`,children:M(`button`,{onlongpress:n,class:`ct-card${e.now?` has-program`:``}`,"data-focus":!0,onClick:t,children:[M(`span`,{class:`ct-logo`,children:r.logo?M(id,{src:r.logo,size:48}):M(`span`,{class:`ct-fallback`,children:r.name})}),e.now&&M(x,{children:[M(`span`,{class:`ct-program`,children:e.now.title}),M(ad,{value:Ol(e.now),class:`ct-progress`})]})]})})}function Gd({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(id,{src:e.channel.logo,size:40})}),M(`span`,{class:`pt-text`,children:[M(`span`,{class:`pt-time`,children:[Al(e.start),e.live&&M(`span`,{class:`pt-badge`,children:z(`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})]})]})}function Kd(){let e=I(null);return F(()=>{R(e.current)},[]),M(`div`,{class:`library`,ref:e,children:[M(`span`,{class:`ux-eyebrow`,children:z(`ux_explore`)}),M(`h1`,{children:z(`nav_library`)}),M(`p`,{class:`muted`,children:z(`ux_library_hint`)}),M(`div`,{class:`library-items`,"data-focus-group":`library`,children:[M(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>hd({name:`recordings`}),children:[M(B,{name:`guide`}),M(`strong`,{children:z(`nav_recordings`)}),M(`span`,{children:z(`ux_recordings_hint`)})]}),M(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>hd({name:`extensions`}),children:[M(B,{name:`grid`}),M(`strong`,{children:z(`nav_extensions`)}),M(`span`,{children:z(`ux_extensions_hint`)})]}),M(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>hd({name:`browse`,kind:`movie`,title:z(`ux_fav_movies`),filter:{favorites:!0}}),children:[M(B,{name:`star`}),M(`strong`,{children:z(`ux_fav_movies`)})]}),M(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>hd({name:`browse`,kind:`series`,title:z(`ux_fav_series`),filter:{favorites:!0}}),children:[M(B,{name:`star`}),M(`strong`,{children:z(`ux_fav_series`)})]})]})]})}var qd={_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`}}},Jd=(e,t)=>e&&e!==`und`?e.toUpperCase():`#${t+1}`,Yd=class{constructor(e,t){vr(this,`av`,webapis.avplay),vr(this,`rect`,{x:0,y:0,w:window.innerWidth,h:window.innerHeight}),vr(this,`aspect`,`fit`),vr(this,`ev`,void 0),vr(this,`opened`,!1),vr(this,`subTimer`,void 0),vr(this,`appliedDisplay`,``),vr(this,`bufferingAt`,null),vr(this,`bufferingCount`,0),vr(this,`bufferingMs`,0),vr(this,`lastTimeAt`,null),vr(this,`maxTimeGapMs`,0),vr(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(),this.bufferingCount=0,this.bufferingMs=0,this.maxTimeGapMs=0;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:()=>{i()&&(this.bufferingAt===null&&(this.bufferingAt=performance.now(),this.bufferingCount++),this.lastTimeAt=null,this.ev.onBuffering(!0))},onbufferingcomplete:()=>{i()&&(this.bufferingAt!==null&&(this.bufferingMs+=performance.now()-this.bufferingAt),this.bufferingAt=null,this.lastTimeAt=null,this.ev.onBuffering(!1))},onstreamcompleted:()=>{i()&&this.ev.onEnded()},oncurrentplaytime:e=>{if(!i())return;let t=performance.now();this.lastTimeAt!==null&&this.bufferingAt===null&&(this.maxTimeGapMs=Math.max(this.maxTimeGapMs,t-this.lastTimeAt)),this.lastTimeAt=t,this.ev.onTime(e)},onerror:e=>{i()&&this.ev.onError(String(e))},onevent:()=>{},onsubtitlechange:(e,t)=>{i()&&(clearTimeout(this.subTimer),this.ev.onSubtitle(t||``),this.subTimer=window.setTimeout(()=>{i()&&this.ev.onSubtitle(``)},Number(e)||3e3))}}),this.applyRect(),this.av.prepareAsync(()=>{if(i()){if(this.appliedDisplay=``,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++,clearTimeout(this.subTimer),this.subTimer=void 0,this.bufferingAt=null,this.lastTimeAt=null,this.appliedDisplay=``,this.opened){this.opened=!1;try{this.av.stop()}catch(e){}try{this.av.close()}catch(e){}}}pause(){this.lastTimeAt=null;try{this.av.pause()}catch(e){}}resume(){this.lastTimeAt=null;try{this.av.play()}catch(e){}}seek(e){this.lastTimeAt=null;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);let a=this.aspect===`fill`?`PLAYER_DISPLAY_MODE_FULL_SCREEN`:`PLAYER_DISPLAY_MODE_LETTER_BOX`,o=[t,n,r,i].map(t=>Math.round(t*e)),s=`${a}:${o.join(`,`)}`;if(s!==this.appliedDisplay)try{this.av.setDisplayMethod(a),this.av.setDisplayRect(...o),this.appliedDisplay=s}catch(e){}}diagnostics(){let e=[];try{e.push(`AVPlay ${this.av.getVersion()} · ${this.av.getState()}`)}catch(e){}try{let t=this.av.getCurrentStreamInfo().find(e=>e.type===`VIDEO`);if(t){let n=JSON.parse(t.extra_info),r=String(n.fourCC||``).replace(/[^a-z0-9 ._-]/gi,``).slice(0,24),i=Number(n.Width)||0,a=Number(n.Height)||0,o=Math.round((Number(n.Bit_rate)||0)/1e3);e.push(`${r} · ${i}×${a}${o?` · ${o} kbps`:``}`)}}catch(e){}let t=this.bufferingAt===null?0:performance.now()-this.bufferingAt;return e.push(`Buffer: ${this.bufferingCount} · ${((this.bufferingMs+t)/1e3).toFixed(1)} s`),e.push(`AVPlay event gap: ${(this.maxTimeGapMs/1e3).toFixed(2)} s`),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:Jd(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){}}};function Xd(e){let t=window;return t[e]?Promise.resolve(t[e]):new Promise((n,r)=>{let i=document.createElement(`script`);i.src=e===`mpegts`?`lib/mpegts.js`:`lib/hls.min.js`,i.onload=()=>t[e]?n(t[e]):r(Error(e)),i.onerror=()=>r(Error(e)),document.head.appendChild(i)})}var Zd=class{constructor(e,t){vr(this,`video`,void 0),vr(this,`hls`,null),vr(this,`ts`,null),vr(this,`ev`,void 0),vr(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();let r=++this.token,i=this.video,a=()=>{n&&(i.currentTime=n/1e3)},o=/\.m3u8(\?|$)/i.test(e),s=!o&&/\.ts(\?|$)/i.test(e);!o&&!s||o&&i.canPlayType(`application/vnd.apple.mpegurl`)?(i.src=Sr(e),i.addEventListener(`loadedmetadata`,a,{once:!0})):s?Xd(`mpegts`).then(t=>{var n;if(r!==this.token)return;let a=t.createPlayer({type:`mpegts`,isLive:!0,url:new URL(Sr(e),location.href).href});a.on(t.Events.ERROR,(e,t)=>this.ev.onError(`${e} ${t}`)),a.attachMediaElement(i),a.load(),(n=a.play())==null||n.catch(()=>{}),this.ts=a},()=>{r===this.token&&this.ev.onError(`mpegts`)}):Xd(`Hls`).then(t=>{if(r!==this.token)return;let a=new t({xhrSetup:(e,t)=>e.open(`GET`,Sr(t),!0),startPosition:n?n/1e3:-1});a.on(t.Events.ERROR,(e,t)=>{t.fatal&&this.ev.onError(t.details)}),a.loadSource(e),a.attachMedia(i),this.hls=a},()=>{r===this.token&&this.ev.onError(`hls`)})}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||Jd(e.lang,t)})):[]}textTracks(){return this.hls?this.hls.subtitleTracks.map((e,t)=>({index:t,language:e.lang||``,label:e.name||Jd(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}},Z=L(`idle`),Qd=L(null),$d=L(``),ef=L(`unknown`),tf=L(0),nf=L(J.value.aspect),rf=L(null),af=L(0),of=L(null),sf=L(null),cf=L(``),Q,lf=0,uf,df,ff=!1,pf={tur:`tr`,eng:`en`,deu:`de`,ger:`de`,fra:`fr`,fre:`fr`,ara:`ar`,rus:`ru`},mf=e=>{let t=e.toLowerCase().slice(0,3);return pf[t]||t.slice(0,2)};function hf(e,t){J.peek().rememberTracks&&(e===`audio`?t&&t.language&&zc({preferredAudio:mf(t.language)}):zc({preferredSubtitle:t&&t.language?mf(t.language):null}))}function gf(){ff=!0;let{preferredAudio:e,preferredSubtitle:t}=J.peek(),n=(e,t)=>t?e.find(e=>e.language&&mf(e.language)===t):void 0,r=n(Q.audioTracks(),e);r&&Q.selectAudio(r.index);let i=n(Q.textTracks(),t);i&&Q.selectText(i.index)}var _f={},vf=[1500,3e3,6e3,12e3],yf=[`auth`,`not_found`,`format`,`limit`];function bf(e){let t=e.toUpperCase();return/HTTP (429|458|509)\b/.test(t)?`limit`:/HTTP 5\d\d\b/.test(t)?`server`:/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`:/TIMEOUT|TIMED_OUT/.test(t)?`timeout`:/CONNECTION|NETWORK|MEDIA 2|FRAGLOAD|LEVELLOAD/.test(t)?`network`:`unknown`}async function xf(e){if(!/^https?:/i.test(e))return null;let t=typeof AbortController<`u`?new AbortController:null,n=setTimeout(()=>t&&t.abort(),5e3);try{let n=await fetch(e,{headers:{Range:`bytes=0-0`},cache:`no-store`,signal:t?t.signal:void 0});try{n.body&&n.body.cancel()}catch(e){}return n.status>=400?`HTTP ${n.status}${n.statusText?` ${n.statusText}`:``}`:null}catch(e){return null}finally{clearTimeout(n)}}var Sf=!1,Cf=0;function wf(e){let t={onBuffering:e=>{e&&Z.value===`playing`?Z.value=`loading`:!e&&Z.value===`loading`&&(Z.value=`playing`)},onPlaying:()=>{Z.value===`loading`&&!ff&&gf(),Z.value=`playing`,lf=0,tf.value=0,_f.started&&_f.started()},onEnded:()=>_f.ended&&_f.ended(),onTime:e=>{af.value=e},onSubtitle:e=>{cf.value=e},onError:e=>{let t=Qd.value;if(!t||Z.value===`error`||Sf)return;Sf=!0,Z.value=`loading`;let n=Cf;xf(t.url).then(r=>{if(n!==Cf||(Sf=!1,Z.value===`error`))return;let i=r||e;console.warn(`oynatma hatası`,i);let a=bf(i);if(yf.indexOf(a)<0&&lf<vf.length){tf.value=lf+1,clearTimeout(uf);let e=t.key.startsWith(`live:`)?void 0:af.peek()||df;uf=window.setTimeout(()=>Q.open(t.url,t.userAgent,e),vf[lf++])}else tf.value=0,ef.value=a,$d.value=i,Z.value=`error`,Q.stop(),_f.failed&&_f.failed()})}};Q=Pt?new Yd(e,t):new Zd(e,t),rf.subscribe(e=>{e===null?Q.setRect({x:0,y:0,w:0,h:0}):e===`full`?Q.setRect({x:0,y:0,w:window.innerWidth,h:window.innerHeight}):Q.setRect(e)}),window.addEventListener(`resize`,()=>{rf.peek()===`full`&&Q.setRect({x:0,y:0,w:window.innerWidth,h:window.innerHeight})}),nf.subscribe(e=>{Q.setAspect(e),J.peek().aspect!==e&&zc({aspect:e})}),document.addEventListener(`visibilitychange`,()=>{let e=Qd.value;if(!e)return;if(document.hidden){Q.stop();return}let t=e.key.startsWith(`live:`)?void 0:af.peek()||df;Z.value=`loading`,Q.open(e.url,e.userAgent,t)})}function Tf(e,t={}){_f.ended=t.onEnded,_f.failed=t.onFailed,_f.started=t.onStarted,!(Qd.value&&Qd.value.key===e.key&&Z.value!==`error`)&&(clearTimeout(uf),Cf++,Sf=!1,lf=0,tf.value=0,ff=!1,df=t.startMs,Qd.value=e,Z.value=`loading`,$d.value=``,cf.value=``,of.value=null,sf.value=null,af.value=t.startMs||0,Q.open(e.url,e.userAgent,t.startMs))}function Ef(){let e=Qd.value;if(!e)return;let t=e.key.startsWith(`live:`)?void 0:af.peek()||df;Qd.value=null,Tf(e,{startMs:t,onEnded:_f.ended,onFailed:_f.failed,onStarted:_f.started})}function Df(){clearTimeout(uf),Cf++,Sf=!1,Qd.value=null,Z.value=`idle`,Q.stop()}function Of(){Z.value===`paused`?(Q.resume(),Z.value=`playing`):(Z.value===`playing`||Z.value===`loading`)&&(Q.pause(),Z.value=`paused`)}var kf=e=>Q.seek(e),Af=()=>Q.audioTracks(),jf=()=>Q.textTracks(),Mf=e=>Q.selectAudio(e);function Nf(e){e===null&&(cf.value=``),Q.selectText(e)}var Pf=()=>Q.diagnostics?Q.diagnostics():[],Ff=()=>Q.videoHeight(),If=()=>Q.duration(),Lf=()=>Q.buffered(),Rf=e=>Q.setSpeed(e);function zf(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width,h:t.height}}var Bf=700,Vf=e=>{let t=qd.countries[e];return t?t[hn.value]:e};function Hf({onOpenPlayer:e}){var t;let n=Gc.value,r=J.value,[i,a]=P([]),[o,s]=P(null),[c,l]=P(0),u=I(0);u.current=c;let d=I(null),[f,p]=P(null),[m,h]=P([]),[g,_]=P(null),[v,y]=P(null),[b,x]=P(null),S=Il.value,[C,ee]=P(!1),[w,T]=P(!1),te=I(null),E=I(null),D=cd.value,O=(()=>{let e=Kc.value;return!!e&&e.providerId===n&&`stage`in e&&e.stage!==`DONE`})(),k=(t=(Wc.value||[]).find(e=>e.id===n))==null?void 0:t.lastSync;F(()=>{q.categories.where(`[providerId+kind]`).equals([n,`live`]).sortBy(`order`).then(a),pd(n),zl(n),au(n).then(e=>h(e.sort((e,t)=>e.name.localeCompare(t.name))))},[n,k]);let ne=Oe(()=>{let e=[{key:`fav`,label:z(`cat_favorites`),filter:{type:`fav`}},{key:`recent`,label:z(`cat_recent`),filter:{type:`recent`}},{key:`all`,label:z(`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(Ul);if(r.groupMode===`CATEGORY`){let i=e=>(Ll.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:ec(e.name,r.filterWords),filter:{type:`cat`,id:e.id},platform:cc(e.name),locked:Bl(e),pinned:!!(Ll.value.get(e.id)||{}).pinned,cat:e})))}let a=hn.value===`tr`?`TR`:`UK`,o=pc(n.map(e=>({id:e.id,name:e.name,locked:Bl(e)})),r.groupMode,a);return e.concat(t,o.map(e=>({key:e.key,label:e.platform?e.platform.name:e.country?Vf(e.country):z(`genre_${e.genre.toLowerCase()}`),filter:{type:`group`,key:e.key,ids:e.categoryIds},platform:e.platform})))},[i,r.groupMode,hn.value,m,S]),re=Ql(D),A=ne.find(e=>Ql(e.filter)===re);F(()=>{ld.value=A?A.label:``},[A&&A.label]),F(()=>{let e=!0;return s(null),eu(n,D).then(t=>{if(!e)return;let n=t,r=ud.peek(),i=r===null?-1:n.indexOf(r);s(n);let a=d.current===re;d.current=re;let o=i>=0?i:a?Math.max(0,Math.min(u.current,n.length-1)):0;l(o),i>=0&&(ud.value=null),(i>=0||a)&&setTimeout(()=>{i<0&&document.activeElement!==document.body||Kt(E.current&&E.current.querySelector(`[data-idx="${o}"]`))},0)}),()=>{e=!1}},[n,re,k,S]);let ie=I({pick:e=>{},menu:e=>{}});ie.current={pick:e=>se(!!e.cat&&Vl(e.cat),()=>{e.cat&&Hl(e.cat.id),cd.value=e.filter}),menu:e=>ue(e)};let ae=Oe(()=>o?new nu(o):null,[o]);F(()=>{ud.peek()===null&&setTimeout(()=>R(te.current),0)},[]),F(()=>{let e=()=>{let e=document.activeElement;ee(!!te.current&&te.current.contains(e)),T(!!E.current&&E.current.contains(e))};return document.addEventListener(`focusin`,e),()=>document.removeEventListener(`focusin`,e)},[]),F(()=>()=>{dd.peek()||Df(),rf.value=null},[]);let oe=(e,t)=>r.numbering===`HIDDEN`?null:r.numbering===`CATEGORY`?t+1:e?e.number:null,se=(e,t)=>e?_({then:t}):t(),ce=async t=>{if(!o)return;let n=await q.channels.get(o[t]),r=n&&n.categoryId!==null&&i.find(e=>e.id===n.categoryId)||null;se(!!n&&Vl(r,n.id),()=>{n&&Hl(r?r.id:null,n.id),e(o,t)})},le=async e=>{let t=ae&&(await ae.range(e,e+1))[0];if(!t||!o)return;let r=fd.value.has(t.id),i=async()=>s(await eu(n,D)),a=[{label:z(r?`menu_remove_favorite`:`menu_add_favorite`),onSelect:async()=>{await ru(n,`live`,t.id),await pd(n),D.type===`fav`&&i()}}];if(D.type===`fav`||D.type===`ugroup`){let t=async t=>{if(!(t<0||t>=o.length)){if(D.type===`ugroup`)await uu(D.id,o,e,t);else{let[n,r]=await q.favorites.bulkGet([o[e],o[t]]);if(!n||!r)return;await q.favorites.bulkPut([H(H({},n),{},{order:r.order}),H(H({},r),{},{order:n.order})])}await i(),l(t)}};a.push({label:z(`menu_move_up`),onSelect:()=>t(e-1)},{label:z(`menu_move_down`),onSelect:()=>t(e+1)})}a.push({label:z(`menu_add_to_group`),onSelect:()=>p({title:z(`menu_add_to_group`),items:m.map(e=>({label:e.name,onSelect:()=>{su(e.id,t.id).then(()=>V(e.name))}})).concat([{label:z(`menu_new_group`),onSelect:()=>x({initial:z(`group_default_name`,m.length+1),save:async e=>{await su(await ou(n,e.trim()||z(`group_default_name`,m.length+1)),t.id),h((await au(n)).sort((e,t)=>e.name.localeCompare(t.name)))}})}])})}),D.type===`ugroup`&&a.push({label:z(`menu_remove_from_group`),onSelect:async()=>{await cu(D.id,t.id),i()}}),a.push({label:z(`menu_epg_mapping`),onSelect:()=>hd({name:`epgmap`,channelId:t.id})});let c=!!(Rl.value.get(t.id)||{}).locked;a.push({label:z(c?`menu_unlock`:`menu_lock`),onSelect:()=>{if(!Yl())return y(z(`pin_needed_first`));c?_({then:()=>ql(t.id,n,{locked:!1})}):ql(t.id,n,{locked:!0})}}),a.push({label:z(`menu_hide`),onSelect:async()=>{await ql(t.id,n,{hidden:!0}),i()}}),p({title:t.name,items:a})},ue=e=>{if(e.group)return p({title:e.label,items:[{label:z(`menu_delete_group`),onSelect:async()=>{await lu(e.group.id),h(m.filter(t=>t.id!==e.group.id)),Ql(D)===e.key&&(cd.value={type:`all`})}}]});let t=e.cat;if(!t)return;let r=Ll.value.get(t.id)||{},i=Bl(t);p({title:t.name,items:[{label:z(r.pinned?`menu_unpin`:`menu_pin_top`),onSelect:()=>Kl(t.id,n,{pinned:r.pinned?0:Date.now()})},{label:z(i?`menu_unlock`:`menu_lock`),onSelect:()=>{if(!Yl())return y(z(`pin_needed_first`));i?_({then:()=>Kl(t.id,n,{locked:!1})}):Kl(t.id,n,{locked:!0})}},{label:z(`menu_hide`),onSelect:async()=>{await Kl(t.id,n,{hidden:!0}),Ql(D)===e.key&&(cd.value={type:`all`})}}]})},j=kn(async e=>{if(!o)return;let t=-1;if(r.numbering===`CATEGORY`)t=e-1<o.length?e-1:-1;else{let r=await q.channels.where(`[providerId+number]`).equals([n,e]).first();t=r?o.indexOf(r.id):-1}if(t<0)return V(z(`channel_not_found`));l(t),setTimeout(()=>Kt(E.current&&E.current.querySelector(`[data-idx="${t}"]`)),0)});en(e=>{var t;if(e.startsWith(`digit`))return j.push(e.slice(5)),!0;if(e===`up`&&(t=document.activeElement)!=null&&t.closest(`.live-list-title`))return Kt(document.querySelector(`.topbar .selected`))});let de=z(`group_${r.groupMode.toLowerCase()}`);return M(`div`,{class:`live-screen`,children:[M(`div`,{class:`live-cats glass${C?` wide`:``}`,ref:te,"data-focus-group":`live-cats`,children:[M(`button`,{class:`group-mode`,"data-focus":!0,onClick:()=>p({title:z(`group_by`,de),items:[`CATEGORY`,`COUNTRY`,`GENRE`,`PLATFORM`].map(e=>({label:z(`group_${e.toLowerCase()}`),checked:e===r.groupMode,onSelect:()=>{zc({groupMode:e}),cd.value={type:`all`}}}))}),children:[M(`span`,{children:[M(`span`,{class:`gm-title`,children:z(`live_categories`)}),M(`span`,{class:`gm-value`,children:z(`group_by`,de)})]}),M(B,{name:`tune`})]}),M(Uf,{entries:ne,selectedKey:re,actions:ie})]}),M(`div`,{class:`live-channels glass`,children:[M(`div`,{class:`panel-title live-list-title`,children:[M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>{X.value=`guide`},children:z(`nav_guide`)}),M(`h2`,{children:A?A.label:``}),o&&o.length>0&&M(`span`,{class:`muted`,children:z(`live_channel_count`,o.length)})]}),o&&o.length===0?M(`p`,{class:`empty`,children:z(O?`live_syncing`:`live_empty_category`)}):M(Sd,{listRef:E,group:`live-channels`,pager:ae,count:o?o.length:0,index:c,setIndex:l,numberOf:oe,focused:w,onOpen:ce,onMenu:le})]}),M(Kf,{pager:ae,index:c,active:w,locked:e=>Vl(i.find(t=>t.id===e.categoryId)||null,e.id)}),M(An,{digits:j.digits}),f&&M(On,{title:f.title,items:f.items,onClose:()=>p(null)}),g&&M(jn,{title:z(`pin_enter`),check:Xl,onDone:()=>{let e=g.then;_(null),e()},onClose:()=>_(null)}),v&&M(Nn,{text:v,onClose:()=>y(null)}),b&&M(Mn,{title:z(`menu_new_group`),label:z(`group_name`),initial:b.initial,onSave:b.save,onClose:()=>x(null)})]})}var Uf=class extends S{constructor(...e){super(...e),vr(this,`rev`,-1)}shouldComponentUpdate(e){return e.entries!==this.props.entries||e.selectedKey!==this.props.selectedKey||Il.peek()!==this.rev}render(){let{entries:e,selectedKey:t,actions:n}=this.props;return this.rev=Il.peek(),M(`div`,{class:`cat-list`,children:e.map(e=>M(Wf,{e,selected:Ql(e.filter)===t,onClick:()=>n.current.pick(e),onLongPress:()=>n.current.menu(e)},e.key))})}};function Wf({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(Gf,{p:e.platform}),M(`span`,{class:`cat-name`,children:e.label}),e.pinned&&M(B,{name:`pin`,class:`cat-icon`}),e.locked&&M(B,{name:`lock`,class:`cat-icon`})]})}function Gf({p:e}){let t=lc(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 Kf({pager:e,index:t,active:n,locked:r}){let[i,a]=P(),[o,s]=P(null),c=I(null);F(()=>{let e=()=>{let e=rf.peek();e&&e!==`full`&&c.current&&(rf.value=zf(c.current))};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),F(()=>{if(s(null),!i)return;let e=!0,t=setTimeout(()=>Sl(i).then(t=>e&&s(t)),250);return()=>{e=!1,clearTimeout(t)}},[i&&i.id]);let l=J.value.previewAutoplay;return F(()=>{if(!e)return;let n=!0;return e.range(t,t+1).then(e=>n&&a(e[0])),()=>{n=!1}},[e,t]),F(()=>{if(!i)return;let e=Qd.peek();if(e&&e.key===`live:${i.id}`&&(rf.value=zf(c.current)),!n||!l||r(i))return;let t=setTimeout(()=>{let e=(Wc.value||[]).find(e=>e.id===i.providerId);rf.value=zf(c.current),Tf({url:i.url,userAgent:e?e.userAgent:null,key:`live:${i.id}`})},Bf);return()=>clearTimeout(t)},[i&&i.id,n]),M(`div`,{class:`live-preview glass`,children:[M(`span`,{class:`preview-label`,children:z(`live_preview`)}),M(`div`,{class:`preview-box${rf.value&&rf.value!==`full`?` hole`:``}`,ref:c,children:i&&r(i)?M(B,{name:`lock`,class:`preview-lock`}):!l&&i&&M(id,{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(qf,{label:z(`now_label`),p:o.now,progress:!0}),o.next&&M(qf,{label:z(`next_label`),p:o.next})]}):M(`p`,{class:`muted`,children:z(`no_program`)})]})}function qf({label:e,p:t,progress:n}){return M(`div`,{class:`program-block`,children:[M(`span`,{class:`pb-label`,children:`${e} · ${jl(t)}`}),M(`span`,{class:`pb-title`,children:t.title}),n&&M(ad,{value:Ol(t),class:`pb-progress`}),t.desc&&M(`span`,{class:`pb-desc`,children:t.desc})]})}var Jf=e=>e<10?`0${e}`:`${e}`;function Yf(e,t){if(!t){let t=new Date(e);return{Y:`${t.getFullYear()}`,m:Jf(t.getMonth()+1),d:Jf(t.getDate()),H:Jf(t.getHours()),M:Jf(t.getMinutes()),S:Jf(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 Yf(e)}let r=/(\d+)\/(\d+)\/(\d+),?\s+(\d+):(\d+):(\d+)/.exec(n);return{Y:r[3],m:r[1],d:r[2],H:Jf(r[4]%24),M:r[5],S:r[6]}}var Xf=(e,t,n)=>{let r=Yf(e,n);return t.replace(/[YmdHMS]/g,e=>r[e])};function Zf(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)=>Yf(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?Xf(l,c,i):`${a(l)}`})}var Qf=(e,t)=>e+(e.indexOf(`?`)>=0?`&`:`?`)+t.replace(/^[?&]/,``);function $f(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=Yf(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 Qf(e.url,`utc=${a}&lutc=${Math.floor(r/1e3)}`);case`APPEND`:case`DEFAULT`:{if(!e.catchupSource)return null;let a=Zf(e.catchupSource,t,n,r,i.deviceZone);return e.catchupType===`APPEND`?e.url+a:/^https?:\/\//i.test(a)?a:Qf(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 ep=(e,t,n)=>e.catchupType!==`NONE`&&t<n&&t>=n-Math.max(1,e.catchupDays)*864e5;function tp({onRetry:e,onBack:t}){let n=I(null);return F(()=>{R(n.current)},[]),M(`div`,{class:`player-center`,children:M(`div`,{class:`error-card`,ref:n,"data-focus-scope":!0,children:[M(B,{name:`error`,class:`error-icon`}),M(`p`,{children:np()}),$d.value&&M(`p`,{class:`error-detail`,children:z(`player_error_detail`,$d.value)}),M(`div`,{class:`row`,children:[M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:e,children:z(`retry`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:t,children:z(`back`)})]})]})})}var np=()=>z(`player_error_${ef.peek()}`),rp=/(?:(\d+):)?(\d{1,2}):(\d{1,2})[,.](\d{1,3})/;function ip(e){let t=rp.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 ap(e){return e.replace(/\{\\[^}]*\}/g,``).replace(/<(\/?)([ibu])(\s[^>]*)?>/gi,`$1$2`).replace(/<[^>]+>/g,``).replace(/\u0001/g,`<`).replace(/\u0002/g,`>`).trim()}function op(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=ip(i),s=ip(a),c=ap(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 sp(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 cp(e){try{return new TextDecoder(`utf-8`,{fatal:!0}).decode(e)}catch(t){return new TextDecoder(`windows-1254`).decode(e)}}var lp=L(null),up=L(0);function dp(){lp.value=null,up.value=0}var fp=[`#fff`,`#ffeb3b`,`#00e5ff`];function pp({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 mp(){let e=vt(()=>{let e=lp.value;return e?sp(e.cues,af.value-up.value).map(e=>e.text).join(`
|
|
12
|
-
`):cf.value}).value;if(!e)return null;let t=J.value;return M(`div`,{class:`subtitle-layer${t.subtitleBackground?` boxed`:``}`,style:{fontSize:`${(4*t.subtitleScale).toFixed(2)}rem`,color:fp[t.subtitleColor]},children:e.split(`
|
|
13
|
-
`).map((e,t)=>M(`span`,{class:`subtitle-line`,children:M(pp,{text:e})},t))})}var hp=72e5,gp=18e5,_p=36e5,vp=864e5,yp=e=>Math.floor(e/gp)*gp,bp=150;function xp(e){let{pager:t,count:n,rowRem:r,winStart:i}=e,a=i+hp,o=I(null),[s,c]=P(Math.max(0,e.initialRow-3)),[l,u]=P({row:e.initialRow,pid:-1}),[d,f]=P(new Map),[p,m]=P(new Map),[h,g]=P(Date.now()),_=o.current?Math.max(1,Math.floor(o.current.clientHeight/wd()/r)):6,v=I(new Map);F(()=>{let e=setInterval(()=>g(Date.now()),3e4);return()=>clearInterval(e)},[]),F(()=>{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);F(()=>{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-vp/2,a=i+hp+vp,o=[...n.values()].filter(e=>{let t=v.current.get(e.id);return!t||t.from>i-_p||t.to<i+72e5+_p});for(await Promise.all(o.map(async e=>{v.current.set(e.id,{from:r,to:a,list:await bl(e,r,a)})}));v.current.size>bp;)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/vp*2)]);let x=e=>{let t=d.get(e);return t&&p.get(t.id)||null};F(()=>{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]),F(()=>{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]),F(()=>{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};en(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+_p):t?(t.start>=a&&e.setWinStart(yp(t.start-gp)),u({row:l.row,pid:t.id})):e.setWinStart(i+_p),!0}case`left`:{if(!c)return!0;let t=r[s-1];return c.start<i?e.setWinStart(i-_p):t&&t.stop>i-vp?(t.stop<=i&&e.setWinStart(yp(Math.max(t.start,t.stop-hp+gp))),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 C=h>=i&&h<a?(h-i)/hp*100:null,ee=[];for(let t=y;t<b;t++){let n=d.get(t);if(!n){ee.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);ee.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(id,{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:z(`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)/hp*100}%`,width:`${(s-o)/hp*100}%`},onClick:()=>e.onProgram(r,n,t),children:[M(`span`,{class:`epg-title`,children:r.title}),M(`span`,{class:`epg-time`,children:Al(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:Al(i+e*gp)},e))}),M(`div`,{class:`epg-body`,ref:o,"data-focus-group":`epg`,"data-focus-noscroll":!0,onScroll:e=>{e.currentTarget.scrollTop=0},children:[ee,C!==null&&M(`div`,{class:`epg-now`,style:{left:`calc(var(--epg-ch) + (100% - var(--epg-ch)) * ${C/100})`}})]})]})}var Sp=5e3,Cp=700,wp=[`fit`,`fill`,`zoom`],Tp=[0,15,30,45,60,90,120],Ep=[.5,.75,1,1.25,1.5,2],Dp=[];for(let e=-10;e<=10;e+=.5)Dp.push(e);var Op=e=>z(`tz_sub_offset_value`,`${e>0?`+`:``}${(e/1e3).toFixed(1)}`),kp=e=>`${e}x`,Ap=3e4,jp=e=>e<10?`0${e}`:`${e}`,Mp=e=>`${jp(e.getHours())}:${jp(e.getMinutes())}`,Np=e=>e>=2e3?`4K`:e>=1e3?`FHD`:e>=700?`HD`:e>0?`SD`:``;function Pp({onExit:e}){let t=dd.value,n=t.ids,r=Oe(()=>new nu(n),[n]),[i,a]=P(t.index),[o,s]=P(null),[c,l]=P(!0),[u,d]=P(null),f=I(!0);f.current=c||u!==null;let[p,m]=P(0),[h,g]=P(t.archive?{program:t.archive,offset:0}:null),[_,v]=P(null),[y,b]=P(null),[x,S]=P(0),C=I(void 0),ee=I(!0),w=I(void 0),T=I(0),[,te]=P(0),E=I(null),D=I(0),O=I(void 0),k=J.value,ne=o?o.providerId:null,re=()=>{l(!0),clearTimeout(O.current),O.current=window.setTimeout(()=>l(!1),Sp)},A=e=>{let t=n.length;t&&(o&&(E.current=o.id),clearTimeout(w.current),v(null),g(null),a((e%t+t)%t))};F(()=>{let e=!0;return(async()=>{let t=await q.channels.get(n[i]);if(!e||!t)return;if(J.peek().pinHash){await zl(t.providerId);let n=t.categoryId===null?null:await q.categories.get(t.categoryId)||null;if(!e)return;if(Vl(n,t.id)){s(t),Df(),b({channel:t,categoryId:t.categoryId});return}}s(t),re(),rf.value=`full`;let r=(Wc.value||[]).find(e=>e.id===t.providerId);if(clearTimeout(C.current),!ee.current&&!h&&(await new Promise(e=>{C.current=window.setTimeout(e,350)}),!e))return;if(ee.current=!1,h){let e=h.program,n=Date.now(),i=ep(t,e.start,n)?$f(t,e.start+h.offset,e.stop,n,{serverZone:r?r.serverTimezone:null}):null;if(!i){V(z(`archive_unavailable`)),g(null);return}Tf({url:i,userAgent:r?r.userAgent:null,key:`arc:${t.id}:${e.id}:${h.offset}`},{onEnded:()=>ie(t,e)});return}let o=!1;Tf({url:t.url,userAgent:r?r.userAgent:null,key:`live:${t.id}`},{onStarted:()=>{o||(o=!0,iu(t.providerId,`live`,t.id),zc({lastChannelId:t.id}))},onFailed:()=>{let e=E.current;if(!J.peek().fallbackToPrevious||e===null||Date.now()-D.current<Ap)return;let t=n.indexOf(e);t<0||(D.current=Date.now(),E.current=null,a(t),V(z(`player_fallback_reason`,np())))}})})(),()=>{e=!1,clearTimeout(C.current)}},[i,h,x]);let ie=async(e,t)=>{let n=(await bl(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];g(n&&n.stop<Date.now()?{program:n,offset:0}:null)},ae=()=>{clearTimeout(w.current),v(null),g(null)};F(()=>()=>clearTimeout(w.current),[]);let oe=()=>h?h.offset+af.peek():0,se=e=>{if(!h)return;let t=Math.min(h.program.stop,Date.now()-6e4)-h.program.start,n=Math.max(0,Math.min(t,(_===null?oe():_)+e));v(n),re(),clearTimeout(w.current),w.current=window.setTimeout(()=>{v(null);let e=o&&o.catchupType===`XTREAM`;g({program:h.program,offset:e?Math.floor(n/6e4)*6e4:n})},Cp)};F(()=>{ne!==null&&pd(ne)},[ne]),F(()=>{let e=setInterval(()=>{f.current&&te(e=>e+1)},5e3);return()=>{clearInterval(e),clearTimeout(O.current),o&&(ud.value=o.id)}},[o]),F(()=>{if(!p)return;let e=setTimeout(()=>{Z.peek()!==`paused`&&Of(),m(0),V(z(`sleep_triggered`))},p*6e4);return()=>clearTimeout(e)},[p]);let ce=()=>{o&&(ud.value=o.id),dd.value=null,rf.value=null,e()},le=async()=>{if(!o)return;let e=await ru(o.providerId,`live`,o.id);await pd(o.providerId),V(z(e?`player_favorite_added`:`player_favorite_removed`))},ue=()=>{let e=wp[(wp.indexOf(nf.value)+1)%wp.length];nf.value=e,V(z(`aspect_${e}`))},j=e=>{e===`FAVORITE`?le():e===`AUDIO`?d({page:`audio`,direct:!0}):e===`SUBTITLES`?d({page:`subs`,direct:!0}):e===`ASPECT`?ue():e===`CHANNELS`?d(`list`):e===`INFO`?re():e===`GUIDE`&&d(`guide`)},de=kn(async e=>{let t=-1;if(k.numbering===`CATEGORY`)t=e-1<n.length?e-1:-1;else if(ne!==null){let r=await q.channels.where(`[providerId+number]`).equals([ne,e]).first();t=r?n.indexOf(r.id):-1}t<0?V(z(`channel_not_found`)):A(t)});F(()=>{let e=()=>{u||d({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[u]),en((e,t)=>{if(e.startsWith(`digit`))return de.push(e.slice(5)),!0;if(h&&!u&&e===`stop`)return ae(),!0;if(h&&!u&&Z.peek()!==`error`){if(e===`left`||e===`right`)return T.current=t&&t.repeat?T.current+1:0,se((e===`left`?-1:1)*(T.current>4?12e4:3e4)),!0;if(e===`rew`||e===`ff`)return se((e===`rew`?-1:1)*12e4),!0;if(e===`ok`||e===`playPause`||e===`play`||e===`pause`)return Of(),re(),!0}if(e===`back`)return u?d(null):c?(clearTimeout(O.current),l(!1)):ce(),!0;if(!u&&(Z.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 A(i+1),!0;case`down`:case`chDown`:return A(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&&A(n.indexOf(E.current)),!0;case`info`:return c?l(!1):re(),!0;case`menu`:return d({page:`main`,direct:!1}),!0;case`playPause`:case`play`:case`pause`:return Of(),re(),!0;case`red`:return j(k.colorKeys[0]),!0;case`green`:return j(k.colorKeys[1]),!0;case`yellow`:return j(k.colorKeys[2]),!0;case`blue`:return j(k.colorKeys[3]),!0}});let fe=!!o&&fd.value.has(o.id),N=Z.value,pe=c&&!u||u===`controls`,me=!!h&&!u&&(c||_!==null||N===`paused`);return M(`div`,{class:`player`,children:[M(mp,{}),N===`loading`&&M(`div`,{class:`player-center`,children:[M(`div`,{class:`spinner`}),tf.value>0&&M(`span`,{class:`retry-label`,children:z(`player_retrying`,tf.value)})]}),N===`paused`&&M(`div`,{class:`player-center`,children:M(B,{name:`pause`,class:`paused-icon`})}),N===`error`&&M(tp,{onRetry:Ef,onBack:ce}),o&&h&&me&&M(Ip,{channel:o,program:h.program,target:_,offset:h.offset,paused:N===`paused`}),o&&!h&&pe&&M(Lp,{channel:o,number:k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?i+1:o.number,favorite:fe,hint:u!==`controls`,children:u===`controls`&&M(Rp,{favorite:fe,subsOn:!1,onClose:()=>{d(null),re()},actions:{channels:()=>d(`list`),guide:()=>d(`guide`),audio:()=>d({page:`audio`,direct:!0}),subs:()=>d({page:`subs`,direct:!0}),picture:ue,favorite:le,more:()=>d({page:`main`,direct:!1}),back:ce}})}),u===`list`&&M(zp,{pager:r,count:n.length,current:i,title:ld.value,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e?e.number:null,onPick:e=>{d(null),e!==i&&A(e)}}),u===`guide`&&M(Bp,{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?ae():A(e)},onArchive:(e,t)=>{d(null),t!==i&&A(t),g({program:e,offset:0})}}),u&&typeof u==`object`&&M(Vp,{page:u.page,direct:u.direct,favorite:fe,sleepMin:p,setPage:e=>d({page:e,direct:!1}),close:()=>d(null),onFavorite:le,onSleep:e=>{m(e),e&&V(z(`sleep_set`,e))},onGuide:()=>d(`guide`),onGoLive:h?()=>{d(null),ae()}:void 0}),M(An,{digits:de.digits}),y&&M(jn,{title:z(`pin_enter`),check:Xl,onDone:()=>{Hl(y.categoryId,y.channel.id),b(null),S(e=>e+1)},onClose:()=>{b(null);let e=E.current;e!==null&&n.indexOf(e)>=0?A(n.indexOf(e)):ce()}})]})}function Fp({text:e,live:t,archive:n}){return M(`span`,{class:`badge-sm${t?` live`:``}${n?` archive`:``}`,children:e})}function Ip(e){let{program:t}=e,n=e.target===null?e.offset+af.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(id,{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(Fp,{text:z(`player_archive`),archive:!0})]}),M(`p`,{class:`band-program`,children:t.title}),M(`div`,{class:`vod-bar-row`,children:[M(B,{name:e.paused?`play`:`pause`,class:`vod-state`}),M(`span`,{class:`vod-time`,children:Al(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:Al(t.stop)})]}),M(`p`,{class:`band-hint`,children:z(`tz_archive_hint`)})]}),M(`span`,{class:`band-clock`,children:Mp(new Date)})]})})}function Lp(e){let t=e.channel,[n,r]=P(null),i=Ml.value;F(()=>{let e=!0;return Sl(t).then(t=>e&&r(t)),()=>{e=!1}},[t.id,i]);let a=n&&n.now,o=n&&n.next,s=Af().length,c=jf().length,l=Np(Ff());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(id,{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(B,{name:`star`,class:`fav-star big`}),M(Fp,{text:z(`player_live`),live:!0}),l&&M(Fp,{text:l}),s>1&&M(Fp,{text:`♪ ${s}`}),c>0&&M(Fp,{text:`CC`})]}),a?M(x,{children:[M(`p`,{class:`band-program`,children:[M(`span`,{class:`band-time`,children:jl(a)}),a.title]}),M(`div`,{class:`band-progress`,children:[M(ad,{value:Ol(a)}),M(`span`,{children:z(`minutes_left`,Math.max(0,Math.round((a.stop-Date.now())/6e4)))})]})]}):M(`p`,{class:`band-program`,children:z(`no_program`)}),o&&M(`p`,{class:`band-next`,children:`${z(`next_label`)}: ${Al(o.start)} ${o.title}`}),e.hint&&M(`p`,{class:`band-hint`,children:z(`player_hint_live`)})]}),M(`span`,{class:`band-clock`,children:Mp(new Date)})]}),e.children]})}function Rp(e){let t=I(null);F(()=>{R(t.current)},[]),en(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`,z(`pc_channels`),n.channels],[`guide`,z(`player_guide`),n.guide],[`audio`,z(`player_audio`),n.audio],[`subtitles`,z(`player_subtitles`),n.subs,e.subsOn],[`aspect`,z(`pc_picture`),n.picture],[e.favorite?`star`:`starOutline`,z(`pc_favorite`),n.favorite,e.favorite],[`more`,z(`pc_more`),n.more],[`back`,z(`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(B,{name:e})}),M(`span`,{class:`cb-label`,children:t})]},t))})}function zp(e){let[t,n]=P(e.current),r=I(null);return F(()=>{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(Sd,{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 Bp(e){let[t,n]=P(yp(Date.now()));return M(`div`,{class:`guide-overlay`,"data-focus-scope":!0,children:M(xp,{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?V(z(await ed(t,n)?`guide_reminder_set`:`guide_reminder_removed`)):t.stop<=i&&ep(n,t.start,i)?e.onArchive(t,r):e.onPlay(r)}})})}function Vp(e){let t=I(null),n=of.value,r=sf.value,i=e=>{of.value=e},a=e=>{sf.value=e};F(()=>{R(t.current)},[e.page]),en(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=Af(),c=jf(),l=(e,t,n)=>{let r=e.find(e=>e.index===t);return r?r.label:n},u=z(`player_options`),d=[];if(e.page===`main`){d=[{label:z(`player_audio`),value:s.length?l(s,n,z(`player_auto`)):z(`player_no_tracks`),onSelect:()=>e.setPage(`audio`)},{label:z(`player_subtitles`),value:lp.value?lp.value.label:l(c,r,z(`player_off`)),onSelect:()=>e.setPage(`subs`)},{label:z(`player_aspect`),value:z(`aspect_${nf.value}`),onSelect:()=>e.setPage(`aspect`)}];let t=e.vod;if(t&&d.push({label:z(`player_speed`),value:kp(t.speed),onSelect:()=>e.setPage(`speed`)}),d.push({label:z(`player_sleep`),value:e.sleepMin?z(`sleep_set`,e.sleepMin):z(`sleep_off`),onSelect:()=>e.setPage(`sleep`)}),t&&t.prev&&d.push({label:z(`vod_prev_ep`),value:t.prev.title,onSelect:()=>{e.close(),t.prev.go()}}),t&&t.next&&d.push({label:z(`vod_next_ep`),value:t.next.title,onSelect:()=>{e.close(),t.next.go()}}),e.onGuide){let t=e.onGuide;d.push({label:z(`player_guide`),onSelect:t}),d.push({label:z(e.favorite?`menu_remove_favorite`:`menu_add_favorite`),onSelect:()=>{e.onFavorite(),e.close()}})}e.onGoLive&&d.unshift({label:z(`player_go_live`),onSelect:e.onGoLive}),d.push({label:z(`player_info`),onSelect:()=>e.setPage(`info`)})}else if(e.page===`audio`)u=z(`player_audio`),d=[{label:z(`player_auto`),checked:n===null,onSelect:()=>{i(null),o()}}].concat(s.map((e,t)=>({label:e.label||z(`track_n`,t+1),checked:n===e.index,onSelect:()=>{Mf(e.index),i(e.index),hf(`audio`,e),o()}})));else if(e.page===`subs`){u=z(`player_subtitles`);let t=lp.value;d=[{label:z(`player_off`),checked:r===null&&!t,onSelect:()=>{Nf(null),a(null),dp(),hf(`text`,null),o()}}],t&&d.push({label:t.label,checked:!0,onSelect:o}),d=d.concat(c.map((e,n)=>({label:e.label||z(`track_n`,n+1),checked:!t&&r===e.index,onSelect:()=>{dp(),Nf(e.index),a(e.index),hf(`text`,e),o()}})));let n=e.vod;n&&(d.push({label:z(`sub_find`),onSelect:()=>{e.close(),n.findSubs()}}),d.push({label:z(`sub_load`),onSelect:()=>{e.close(),n.loadSubs()}}),t&&d.push({label:z(`sub_offset`),value:Op(up.value),onSelect:()=>e.setPage(`offset`)}))}else if(e.page===`offset`)u=z(`sub_offset`),d=Dp.map(e=>({label:Op(e*1e3),checked:up.value===e*1e3,onSelect:()=>{up.value=e*1e3,o()}}));else if(e.page===`aspect`)u=z(`player_aspect`),d=wp.map(e=>({label:z(`aspect_${e}`),checked:nf.value===e,onSelect:()=>{nf.value=e,o()}}));else if(e.page===`speed`&&e.vod){let t=e.vod;u=z(`player_speed`),d=Ep.map(e=>({label:kp(e),checked:t.speed===e,onSelect:()=>{t.setSpeed(e),o()}}))}else if(e.page===`sleep`)u=z(`player_sleep`),d=Tp.map(t=>({label:t?z(`sleep_minutes`,t):z(`sleep_off`),checked:e.sleepMin===t,onSelect:()=>{e.onSleep(t),o()}}));else{u=z(`player_info`);let t=Ff();d=[{label:z(`info_video`,t?`${t}p`:z(`info_none`)),onSelect:()=>{}},{label:z(`info_audio`,s.length?s.map(e=>e.label).join(`, `):z(`info_none`)),onSelect:()=>{}},...Pf().map(e=>({label:e,onSelect:()=>{}})),{label:z(`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(B,{name:`check`}):e.page===`main`&&t.value!==void 0?M(B,{name:`chevron`}):null]},`${e.page}-${n}`))]})}function Hp(){let e=rf.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 Up=1.8,Wp=1.2,Gp=6,Kp={movie:{w:16,ratio:1.5},series:{w:16,ratio:1.5}},qp=[[`added`,`sort_added`],[`name`,`sort_name`],[`rating`,`sort_rating`],[`year`,`sort_year`]];function Jp(e){var t;let n=e=>{md.peek().length?_d(e):hd(e)},r=Gc.value,i=((t=(Wc.value||[]).find(e=>e.id===r))==null?void 0:t.lastSync)||0,[a,o]=P(e.sort||`added`),[s,c]=P(e.filter.genre||null),[l,u]=P(null),[d,f]=P([]),[p,m]=P([]),[h,g]=P(0),[_,v]=P(6),[y,b]=P(Kp[e.kind].w),[x,S]=P(null),C=Kp[e.kind],ee=y*C.ratio+Gp+7.6,[w,T]=P(null),te=I(null),E=I(null);F(()=>{Nu(r,e.kind,i).then(m),Eu(r,e.kind).then(e=>f(e.filter(e=>!e.adult&&Ul(e)&&!Vl(e))))},[r,e.kind,i]),F(()=>{c(e.filter.genre||null)},[JSON.stringify(e.filter)]),F(()=>{let t=!0;return Fu(r,e.kind,{categoryIds:e.filter.categoryIds,genre:s||void 0,favorites:e.filter.favorites},a).then(e=>{t&&(u(e),g(0))}),()=>{t=!1}},[r,a,s,e.kind,JSON.stringify(e.filter)]),F(()=>{l&&l.length&&setTimeout(()=>R(te.current),0)},[l===null]),F(()=>{let e=te.current;if(!e)return;let t=()=>{let t=wd(),n=e.clientWidth/t-2*Wp,r=Gp,i=Math.max(3,e.clientHeight/t-2*Wp-r-1.4),a=Math.min(n/4-Up,i/C.ratio);v(4),b(Math.max(2,Math.floor(a*100)/100))};t(),window.addEventListener(`resize`,t);let n=e=>{let t=e.target,n=t.closest(`[data-idx]`);n&&g(Number(n.getAttribute(`data-idx`)));let r=t.getAttribute(`data-info-title`);S(r?{title:r,meta:t.getAttribute(`data-info-meta`)||``}:null)};return e.addEventListener(`focusin`,n),()=>{e.removeEventListener(`focusin`,n),window.removeEventListener(`resize`,t)}},[l===null,e.kind,p.length]),F(()=>{let e=te.current;e&&e.contains(document.activeElement)&&(e.scrollTop=Math.floor(h/_)*ee*wd())},[h,_,ee]),en(e=>{var t,n,r;if(e===`back`&&md.peek().length)return gd(),!0;if((t=E.current)!=null&&t.contains(document.activeElement)&&(n=document.activeElement)!=null&&n.closest(`.bb-sorts`)){var i;if(e===`up`)return Kt(document.querySelector(`.topbar .selected`));if(e===`down`)return Kt((i=te.current)==null?void 0:i.querySelector(`[data-idx="${h}"] [data-focus]`))}if((e===`up`||e===`down`)&&(r=te.current)!=null&&r.contains(document.activeElement)){var a;let t=Number((a=document.activeElement)==null||(a=a.closest(`[data-idx]`))==null?void 0:a.getAttribute(`data-idx`));if(e===`up`&&t<_){var o;return Kt((o=E.current)==null?void 0:o.querySelector(`.bb-sorts .selected`))}let n=e===`up`?t-_:Math.min(((l==null?void 0:l.length)||1)-1,t+_);return n===t||Kt(te.current.querySelector(`[data-idx="${n}"] [data-focus]`))}});let D=e.filter.platformKey?ac.find(t=>t.key===e.filter.platformKey):cc(e.title),O=z(`genre_label`,s||z(`browse_all`));return M(`div`,{class:`browse`,ref:E,children:[M(`div`,{class:`browse-layout`,children:[M(`aside`,{class:`browse-side`,"data-focus-group":`browse-side`,children:[M(`span`,{class:`ux-eyebrow`,children:z(`ux_categories`)}),M(`button`,{class:`focus-row${e.filter.all?` selected`:``}`,"data-focus":!0,onClick:()=>n({name:`browse`,kind:e.kind,title:z(`ux_all_content`),filter:{all:!0}}),children:z(`ux_all_content`)}),M(`button`,{class:`focus-row${e.filter.favorites?` selected`:``}`,"data-focus":!0,onClick:()=>n({name:`browse`,kind:e.kind,title:z(`shelf_favorites`),filter:{favorites:!0}}),children:z(`shelf_favorites`)}),d.map(t=>{var r;return M(`button`,{class:`focus-row${(r=e.filter.categoryIds)!=null&&r.includes(t.id)?` selected`:``}`,"data-focus":!0,onClick:()=>n({name:`browse`,kind:e.kind,title:t.name,filter:{categoryIds:[t.id]}}),children:t.name},t.id)})]}),M(`div`,{class:`browse-main`,children:[M(Xp,{kind:e.kind,title:e.title,filter:e.filter,platform:D||null,genreCount:(e.filter.genre||e.filter.favorites)&&l?l.length:null,children:M(`div`,{class:`row bb-sorts`,children:[qp.map(([e,t])=>M(`button`,{class:`chip${a===e?` selected`:``}`,"data-focus":!0,onClick:()=>o(e),children:z(t)},e)),p.length>0&&M(`button`,{class:`chip bb-genre`,"data-focus":!0,onClick:()=>T({title:O,items:[null,...p].map(e=>({label:e||z(`browse_all`),checked:e===s,onSelect:()=>c(e)}))}),children:O})]})}),M(`div`,{class:`browse-grid ${e.kind}`,ref:te,"data-focus-group":`browse`,"data-focus-noscroll":!0,style:{"--cw":`${y}rem`,"--cols":String(_),"--caption-h":`${Gp}rem`},children:[l&&!l.length&&M(`p`,{class:`empty`,children:z(`vod_empty`)}),l&&(()=>{let t=Math.ceil(l.length/_),n=Math.floor(h/_),r=Math.max(0,n-4),i=Math.min(t,n+7),a=[M(`span`,{class:`grid-spacer`,style:{height:`${r*ee}rem`}},`top`)];for(let t=r*_;t<Math.min(l.length,i*_);t++){var o;let n=Tu(l[t]);a.push(M(`span`,{"data-idx":t,class:`grid-cell`,children:M(`span`,{class:`catalog-poster`,children:[M(kd,{card:n,onClick:()=>Ld(e.kind,n)}),M(`span`,{class:`catalog-title`,children:n.title}),M(`span`,{class:`catalog-meta`,children:[n.rating?`★ ${n.rating.toFixed(1)}`:null,(o=n.item)==null?void 0:o.year].filter(Boolean).join(` · `)})]})},n.key))}return a.push(M(`span`,{class:`grid-spacer`,style:{height:`${(t-i)*ee+54}rem`}},`bottom`)),a})()]})]})]}),w&&M(On,{title:w.title,items:w.items,onClose:()=>T(null)})]})}var Yp=e=>{let t=parseInt(e.slice(1),16);return`${t>>16}, ${t>>8&255}, ${t&255}`};function Xp(e){let t=Gc.value,{platform:n,filter:r}=e,[i,a]=P(null);F(()=>{let n=!0;return(async()=>{let i={movie:[],series:[]};if(r.platformKey)for(let e of[`movie`,`series`])i[e]=(await Eu(t,e)).filter(e=>!e.adult&&(cc(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?wu(n).where(`categoryId`).anyOf(i[n]).count():0:n===e.kind&&r.all?wu(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=>z(e===`movie`?`browse_movie_count`:`browse_series_count`,s(e))).join(` · `):``,l=n?Yp(n.color):`var(--accent-rgb)`,u=t=>{t!==e.kind&&i&&_d({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(jd,{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:[z(t===`movie`?`nav_movies`:`nav_series`),M(`span`,{class:`bb-tab-count`,children:` ${i[t]}`})]},t))}),M(`span`,{class:`spacer`}),e.children]})}var Zp=e=>{let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60);return n?`${n}:${ju(r)}:${ju(t%60)}`:`${ju(r)}:${ju(t%60)}`},Qp=e=>!!e&&!e.watched&&e.position>1e4;function $p({src:e}){return M(`div`,{class:`detail-backdrop`,children:[e&&M(`img`,{src:e,alt:``,decoding:`async`}),M(`span`,{class:`db-h`}),M(`span`,{class:`db-v`})]})}function em({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 tm(e,t){let[n,r]=P([]);return F(()=>{e&&Iu(e,t).then(r)},[e&&e.id]),n}function nm(e,t,n){return{title:z(`vod_versions`,e.length),items:e.map(e=>({label:Ys(e.name)||z(`vod_version_standard`),checked:e.id===t.id,onSelect:()=>{e.id!==t.id&&_d(n===`movie`?{name:`movie`,id:e.id}:{name:`series`,id:e.id})}}))}}function rm(){en(e=>{if(e===`back`)return gd(),!0})}function im({id:e}){let[t,n]=P(null),[r,i]=P(),[a,o]=P(!1),[s,c]=P([]),[l,u]=P(null),[d,f]=P(!1),p=I(null),m=tm(t,`movie`);rm();let h=async()=>{i(await xu(e)),o(!!await q.favorites.get(e))};if(F(()=>{let t=!0;q.movies.get(e).then(async r=>{if(!r||!t)return;n(r);let i=await hu(r);if(!t||(n(i),r.categoryId===null))return;let a=(await Ou(r.categoryId,21)).filter(t=>t.id!==e).slice(0,20);t&&c(a)}),h();let r=()=>h();return window.addEventListener(`utopya:progress`,r),()=>{t=!1,window.removeEventListener(`utopya:progress`,r)}},[e]),F(()=>{t&&setTimeout(()=>R(p.current),0)},[!!t]),!t)return null;let g=Qp(r),_=!!r&&r.watched,v=e=>hd({name:`vod`,kind:`movie`,id:t.id,startMs:e}),y=[[g?z(`vod_resume`,Zp(r.position)):z(`vod_play`),()=>v(g?r.position:0)]];return g&&y.push([z(`vod_restart`),()=>v(0)]),m.length>1&&y.push([z(`vod_versions`,m.length),()=>u(nm(m,t,`movie`))]),y.push([z(a?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await ru(t.providerId,`movie`,t.id),h()}]),y.push([z(_?`vod_mark_unwatched`:`vod_mark_watched`),async()=>{await bu(`movie`,t.id,t.providerId,null,!_),h()}]),M(`div`,{class:`detail`,children:[M($p,{src:t.backdrop||t.poster}),M(`div`,{class:`detail-scroll`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:gd,children:[M(B,{name:`back`}),z(`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(em,{chips:[t.year,t.durationSec?z(`vod_minutes`,Math.ceil(t.durationSec/60)):null,Td(t.rating),t.genre]}),t.plot&&M(`p`,{class:`detail-plot`,children:t.plot}),t.director&&M(`p`,{class:`detail-credit`,children:z(`vod_director`,t.director)}),t.cast&&M(`p`,{class:`detail-credit`,children:z(`vod_cast`,t.cast)}),M(`button`,{class:`btn outline full-details-btn`,"data-focus":!0,onClick:()=>f(!0),children:z(`ux_full_details`)}),M(`div`,{class:`detail-actions`,ref:p,children:y.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(Id,{title:z(`shelf_similar`),info:!0,children:s.map(e=>{let t=Tu(e);return M(kd,{card:t,onClick:()=>_d({name:`movie`,id:t.id})},t.key)})})]}),d&&M(cm,{title:t.name,plot:t.plot,credits:[t.director&&z(`vod_director`,t.director),t.cast&&z(`vod_cast`,t.cast)],onClose:()=>f(!1)}),l&&M(On,{title:l.title,items:l.items,onClose:()=>u(null)})]})}function am(e,t){if(!e.length)return null;let n=e.filter(e=>Qp(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 om({id:e,season:t}){let[n,r]=P(null),[i,a]=P(null),[o,s]=P(new Map),[c,l]=P(!1),[u,d]=P(t||null),[f,p]=P(null),[m,h]=P(!1),g=I(null),_=tm(n,`series`);rm();let v=async(t=i)=>{t&&s(await Su(t.map(e=>e.id))),l(!!await q.favorites.get(e))};if(F(()=>{let t=!0;q.series.get(e).then(async e=>{if(!e||!t)return;r(e);let n=await gu(e);t&&(r(n.series),a(n.episodes),n.episodes.length&&u===null&&d(Math.min(...n.episodes.map(e=>e.season))),v(n.episodes))});let n=()=>v();return window.addEventListener(`utopya:progress`,n),()=>{t=!1,window.removeEventListener(`utopya:progress`,n)}},[e]),F(()=>{n&&setTimeout(()=>R(g.current),0)},[!!n]),!n)return null;let y=i?am(i,o):null,b=i?[...new Set(i.map(e=>e.season))].sort((e,t)=>e-t):[],x=(e,t)=>hd({name:`vod`,kind:`episode`,id:e.id,seriesId:n.id,startMs:t}),S=e=>`S${ju(e.season)}E${ju(e.episode)}`,C=[];y&&C.push([y.pos?z(`vod_resume`,`${S(y.ep)} · ${Zp(y.pos)}`):`${z(`vod_play`)} ${S(y.ep)}`,()=>x(y.ep,y.pos)]),_.length>1&&C.push([z(`vod_versions`,_.length),()=>p(nm(_,n,`series`))]),C.push([z(c?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await ru(n.providerId,`series`,n.id),v()}]);let ee=e=>{let t=o.get(e.id),r=!!t&&t.watched;p({title:e.title,items:[{label:z(r?`vod_mark_unwatched`:`vod_mark_watched`),onSelect:async()=>{await bu(`episode`,e.id,n.providerId,n.id,!r),v()}}]})};return M(`div`,{class:`detail`,children:[M($p,{src:n.backdrop||n.poster}),M(`div`,{class:`detail-scroll series`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:gd,children:[M(B,{name:`back`}),z(`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(em,{chips:[n.year,Td(n.rating),n.genre]}),n.plot&&M(`p`,{class:`detail-plot`,children:n.plot}),n.cast&&M(`p`,{class:`detail-credit`,children:z(`vod_cast`,n.cast)}),M(`button`,{class:`btn outline full-details-btn`,"data-focus":!0,onClick:()=>h(!0),children:z(`ux_full_details`)}),M(`div`,{class:`detail-actions`,ref:g,children:C.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))})]})]}),b.length>1?M(`div`,{class:`season-chips`,children:b.map(e=>M(`button`,{class:`chip${e===u?` selected`:``}`,"data-focus":!0,onClick:()=>d(e),children:z(`vod_season`,e)},e))}):M(`div`,{class:`season-gap`}),i===null&&M(`p`,{class:`muted`,children:z(`vod_episodes_loading`)}),i&&!i.length&&M(`p`,{class:`muted`,children:z(`vod_no_episodes`)}),M(`div`,{class:`episode-list`,"data-focus-group":`episodes`,children:i&&i.filter(e=>e.season===u).map(e=>M(sm,{e,poster:n.poster,p:o.get(e.id),onClick:()=>{let t=o.get(e.id);x(e,t&&!t.watched?t.position:0)},onLongPress:()=>ee(e)},e.id))})]}),m&&M(cm,{title:n.name,plot:n.plot,credits:[n.cast&&z(`vod_cast`,n.cast)],onClose:()=>h(!1)}),f&&M(On,{title:f.title,items:f.items,onClose:()=>p(null)})]})}function sm(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(xn,{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:z(`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:z(`vod_minutes`,Math.round(t.durationSec/60))}):null,n&&n.watched&&M(B,{name:`check`,class:`ep-watched`})]})}function cm({title:e,plot:t,credits:n,onClose:r}){let i=I(null),a=I(null),o=I(document.activeElement);return F(()=>(Kt(a.current),()=>{var e;(e=o.current)!=null&&e.isConnected&&Kt(o.current)}),[]),en(e=>{if(e===`back`)return r(),!0;if(document.activeElement===a.current&&[`up`,`down`,`chUp`,`chDown`].includes(e)){let t=a.current,n=e===`up`||e===`chUp`?-1:1,r=t.scrollTop;if(t.scrollTop+=n*Math.max(60,t.clientHeight/4),t.scrollTop!==r)return!0}return`default`}),M(`div`,{class:`scrim`,"data-focus-scope":!0,children:M(`div`,{class:`full-details-dialog`,ref:i,role:`dialog`,"aria-modal":`true`,"aria-label":e,children:[M(`h2`,{children:e}),M(`div`,{class:`full-details-text`,ref:a,"data-focus":!0,tabIndex:-1,children:[t&&M(`p`,{children:t}),n.filter(Boolean).map(e=>M(`p`,{children:e},e))]}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:r,children:z(`back`)})]})})}var lm=`keys`,um=null;function dm(){return new Promise((e,t)=>{let n=indexedDB.open(`utopya-keys`,1);n.onupgradeneeded=()=>n.result.createObjectStore(lm),n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function fm(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function pm(){return um||(um=(async()=>{let e=window.crypto&&window.crypto.subtle;if(!e)return null;try{let t=await dm(),n=await fm(t.transaction(lm).objectStore(lm).get(`main`));if(n)return n;let r=await e.generateKey({name:`AES-GCM`,length:256},!1,[`encrypt`,`decrypt`]);return await fm(t.transaction(lm,`readwrite`).objectStore(lm).put(r,`main`)),r}catch(e){return console.warn(`şifreleme anahtarı yok`,e),null}})()),um}var mm=e=>btoa(String.fromCharCode.apply(null,Array.prototype.slice.call(new Uint8Array(e)))),hm=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function gm(e){let t=await pm();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:${mm(n)}:${mm(r)}`}async function _m(e){if(e.startsWith(`p:`))return e.slice(2);let t=/^v1:([^:]+):(.+)$/.exec(e),n=await pm();if(!t||!n)return null;try{let e=await crypto.subtle.decrypt({name:`AES-GCM`,iv:hm(t[1])},n,hm(t[2]));return new TextDecoder().decode(e)}catch(e){return null}}var vm=`https://api.opensubtitles.com/api/v1`,ym=`UtopyaTV v1.0`,bm=`utopya.opensubtitles`;async function xm(){try{let e=localStorage.getItem(bm),t=e&&await _m(e);return t?JSON.parse(t):null}catch(e){return null}}var Sm=null;async function Cm(e){Sm=null;try{e&&(e.key||e.user||e.pass)?localStorage.setItem(bm,await gm(JSON.stringify(e))):localStorage.removeItem(bm)}catch(e){}}var wm=class extends Error{};async function Tm(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":ym};Sm&&(a.Authorization=`Bearer ${Sm}`),r&&(a[`Content-Type`]=`application/json`);let o=await fetch(Sr(vm+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 wm;if(!o.ok)throw Error(`OpenSubtitles ${o.status}`);return o.json()}var Em=65536;function Dm(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 Om(e,t,n){let r=await fetch(Sr(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 km(e){try{let t=await Om(e,0,65535);if(!t||!(t.total>=2*Em))return null;let n=await Om(e,t.total-Em,t.total-1);return n?Dm(t.total,t.bytes,n.bytes):null}catch(e){return null}}function Am(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=Zs(t.title).map(Ws),s=t.year?parseInt(t.year,10):NaN,c=e=>{let n=e.attributes.feature_details||{},r=Ws((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 jm(e,t){let n=await xm();if(!n||!n.key)return{kind:`no_key`};try{let r=await km(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 Tm(n,`/subtitles`,H(H({},i),e))).data||[],o=null;e.tmdbId&&+e.tmdbId>0&&(o=Am(await a(e.season===void 0?{tmdb_id:e.tmdbId}:{parent_tmdb_id:e.tmdbId}),e,!0));for(let t of Zs(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=Am(await a(n),e,!1)}if(!o)return{kind:`not_found`};if(n.user&&!Sm)try{Sm=(await Tm(n,`/login`,null,{username:n.user,password:n.pass})).token||null}catch(e){}let s=await Tm(n,`/download`,null,{file_id:o.attributes.files[0].file_id});if(!s.link)return{kind:`not_found`};let c=await fetch(Sr(s.link),{credentials:`omit`});if(!c.ok)return{kind:`failed`};let l=cp(await c.arrayBuffer());return l.trim()?{kind:`found`,name:o.attributes.release||`OpenSubtitles`,text:l}:{kind:`failed`}}catch(e){return e instanceof wm?{kind:`limit`}:(console.warn(`OpenSubtitles`,e),{kind:`failed`})}}var Mm=4e3,Nm=650,Pm=[`fit`,`fill`,`zoom`],Fm=e=>e<10?`0${e}`:`${e}`,Im=()=>{let e=new Date;return`${Fm(e.getHours())}:${Fm(e.getMinutes())}`},Lm=e=>`S${ju(e.season)}E${ju(e.episode)}`;function Rm(e){let[t,n]=P(null),[r,i]=P([]),[a,o]=P(null),[s,c]=P(!0),l=I(!0);l.current=s||a!==null;let[u,d]=P(null),[f,p]=P(null),[m,h]=P(!1),[g,_]=P(1),[v,y]=P(0),[,b]=P(0),S=I(void 0),C=I(void 0),ee=I(0),w=I(!1),T=I(!1),[te,E]=P(!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,ne=I({props:e,info:t});ne.current={props:e,info:t};let re=(e=!1)=>{var t;let{props:n,info:r}=ne.current,i=If();if(!r||i<=0)return;let a=w.current?i:af.peek();n.kind!==`stream`&&(yu(n.kind,n.id,r.providerId,(t=n.seriesId)==null?null:t,a,i),e&&window.dispatchEvent(new Event(`utopya:progress`)))},A=()=>{c(!0),clearTimeout(S.current),S.current=window.setTimeout(()=>c(!1),Mm)};F(()=>{let t=!0;return w.current=!1,T.current=!1,clearTimeout(C.current),d(null),_(1),dp(),h(!1),p(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 q.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([q.episodes.get(e.id),q.series.get(e.seriesId)]);if(!n||!a)return;r={title:a.name,sub:`${Lm(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(_u(await q.episodes.where(`seriesId`).equals(a.id).toArray()))}let a=(Wc.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 xu(e.id);o=t&&!t.watched?t.position:0}rf.value=`full`,Tf({url:r.url,userAgent:r.userAgent,key:e.kind===`stream`?`stream:${r.url}`:`vod:${e.id}`},{startMs:o||void 0,onEnded:()=>{w.current=!0,re(!0),A()},onStarted:()=>se(r.target)}),A()})(),()=>{t=!1}},[e.id]),F(()=>{let e=setInterval(()=>{Z.peek()===`playing`&&re()},1e4),t=setInterval(()=>{(l.current||Z.peek()===`paused`)&&b(e=>e+1)},1e3);return()=>{clearInterval(e),clearInterval(t)}},[t]),F(()=>()=>{re(!0),Df(),dp(),rf.value=null,clearTimeout(S.current)},[]);let ie=()=>J.peek().preferredSubtitle||`tr`,ae=(e,t)=>{let n=op(t);return n.length?(Nf(null),up.value=0,lp.value={label:e,cues:n},!0):!1},oe=async(e,t)=>{t||V(z(`sub_searching`));let n=ne.current.props.id,r=await jm(e,ie());if(ne.current.props.id===n){if(r.kind===`found`)ae(r.name,r.text)?V(z(`sub_found`,r.name)):t||V(z(`sub_failed`));else if(t)return;else r.kind===`not_found`?V(z(`sub_not_found`)):r.kind===`no_key`?V(z(`sub_no_key`)):r.kind===`limit`?V(z(`sub_limit`)):V(z(`error_network`))}},se=e=>{if(T.current||!J.peek().autoSubtitles)return;T.current=!0;let t=ne.current.props.id;setTimeout(()=>{if(ne.current.props.id!==t||lp.peek())return;let n=ie();jf().some(e=>e.language.toLowerCase().startsWith(n))||oe(e,!0)},4e3)},ce=async e=>{try{let t=await fetch(Sr(Cr(e)),{credentials:`omit`});if(t.ok&&ae(`SRT`,cp(await t.arrayBuffer()))){V(z(`sub_loaded`));return}}catch(e){}V(z(`sub_failed`))},le=If(),ue=le-af.peek();F(()=>{if(!k||m||f!==null||!J.peek().autoNextEpisode)return;let t=Qd.peek();t&&t.key===`vod:${e.id}`&&Z.peek()!==`loading`&&(w.current||le>6e4&&ue>0&&ue<=15e3)&&p(10)}),F(()=>{if(f===null)return;if(f<=0){j(k);return}let e=setTimeout(()=>p(e=>e===null?null:e-1),1e3);return()=>clearTimeout(e)},[f]),F(()=>{if(!v)return;let e=setTimeout(()=>{Z.peek()!==`paused`&&Of(),y(0),V(z(`sleep_triggered`))},v*6e4);return()=>clearTimeout(e)},[v]);let j=t=>{re(),xu(t.id).then(n=>_d({name:`vod`,kind:`episode`,id:t.id,seriesId:e.seriesId,startMs:n&&!n.watched?n.position:0}))},de=()=>{re(),gd()},fe=e=>{let t=u===null?af.peek():u,n=Math.max(0,Math.min(le||1/0,t+e));d(n),A(),clearTimeout(C.current),C.current=window.setTimeout(()=>{kf(n),d(null)},Nm)};if(F(()=>{let e=()=>{a||o({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[a]),en((e,t)=>{if(Z.peek()===`error`)return e===`back`?(de(),!0):`default`;if(e===`back`)return a?o(null):f===null?s&&Z.peek()===`playing`?(clearTimeout(S.current),c(!1)):de():(p(null),h(!0)),!0;if(a||f!==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 Of(),A(),!0;case`left`:return fe(-n),!0;case`right`:return fe(n),!0;case`rew`:return fe(-3e4),!0;case`ff`:return fe(3e4),!0;case`playPause`:case`play`:case`pause`:return Of(),A(),!0;case`up`:case`info`:return o(`controls`),c(!0),clearTimeout(S.current),!0;case`down`:return r.length?o(`episodes`):A(),!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&&j(k),!0;case`chDown`:return O&&j(O),!0}}),!t)return null;let N=Z.value,pe=s||N===`paused`||u!==null||a===`controls`;return M(`div`,{class:`player vod-player`,children:[M(mp,{}),N===`loading`&&M(`div`,{class:`player-center`,children:[M(`div`,{class:`spinner`}),tf.value>0&&M(`span`,{class:`retry-label`,children:z(`player_retrying`,tf.value)})]}),N===`error`&&M(tp,{onRetry:Ef,onBack:de}),pe&&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:Im()})]}),M(`div`,{class:`vod-bottom`,children:[M(Hm,{paused:N===`paused`,target:u,d:le}),a===`controls`?M(zm,{paused:N===`paused`,series:r.length>0,prev:!!O,next:!!k,close:()=>{o(null),A()},on:{play:()=>Of(),back10:()=>fe(-1e4),fwd10:()=>fe(1e4),prev:()=>O&&j(O),next:()=>k&&j(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=Pm[(Pm.indexOf(nf.value)+1)%3];nf.value=e,V(z(`aspect_${e}`))},more:()=>o({page:`main`,direct:!1}),exit:de}}):M(`p`,{class:`band-hint`,children:z(`vod_hint`)})]})]}),a===`episodes`&&M(Bm,{eps:r,current:e.id,onPick:t=>{o(null),t.id!==e.id&&j(t)}}),a&&typeof a==`object`&&M(Vp,{page:a.page,direct:a.direct,favorite:!1,sleepMin:v,setPage:e=>o({page:e,direct:!1}),close:()=>o(null),onFavorite:()=>{},onSleep:e=>{y(e),e&&V(z(`sleep_set`,e))},vod:{speed:g,setSpeed:e=>{Rf(e),_(e)},prev:O?{title:`${Lm(O)} · ${O.title}`,go:()=>j(O)}:void 0,next:k?{title:`${Lm(k)} · ${k.title}`,go:()=>j(k)}:void 0,findSubs:()=>oe(t.target,!1),loadSubs:()=>E(!0)}}),te&&M(Mn,{title:z(`sub_url_title`),label:z(`sub_url_hint`),initial:``,placeholder:`https://…/altyazi.srt`,onSave:e=>{e.trim()&&ce(e)},onClose:()=>E(!1)}),f!==null&&k&&M(Vm,{seconds:f,title:`${Lm(k)} · ${k.title}`,onPlay:()=>j(k),onCancel:()=>{p(null),h(!0)}})]})}function zm(e){let t=I(null);F(()=>{R(t.current)},[]),en(t=>t===`back`?(e.close(),!0):void 0);let n=e.on,r=[[e.paused?`play`:`pause`,z(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`,z(`pc_prev`),n.prev]),e.series&&e.next&&r.push([`chevron`,z(`pc_next`),n.next]),e.series&&r.push([`list`,z(`vod_episodes`),n.episodes]),r.push([`audio`,z(`player_audio`),n.audio],[`subtitles`,z(`player_subtitles`),n.subs],[`more`,z(`pc_speed`),n.speed],[`aspect`,z(`pc_picture`),n.picture],[`more`,z(`pc_more`),n.more],[`back`,z(`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(B,{name:e})}),M(`span`,{class:`cb-label`,children:t})]},t))})}function Bm({eps:e,current:t,onPick:n}){let r=I(null);return F(()=>{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:z(`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:Lm(e)}),M(`span`,{class:`opt-label`,children:e.title})]},e.id))]})}function Vm(e){let t=I(null);return F(()=>{R(t.current)},[]),M(`div`,{class:`next-card`,ref:t,"data-focus-scope":!0,children:[M(`p`,{class:`next-when`,children:z(`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:z(`vod_play_now`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:e.onCancel,children:z(`cancel`)})]})]})}function Hm({paused:e,target:t,d:n}){let r=t===null?af.value:t,i=e=>n>0?`${Math.min(100,e/n*100)}%`:`0%`;return M(`div`,{class:`vod-bar-row`,children:[M(B,{name:e?`play`:`pause`,class:`vod-state`}),M(`span`,{class:`vod-time`,children:Zp(r)}),M(`div`,{class:`vod-bar`,children:[M(`span`,{class:`vod-buffer`,style:{width:i(Lf())}}),M(`span`,{class:`vod-played`,style:{width:i(r)}})]}),M(`span`,{class:`vod-time`,children:[`-`,Zp(Math.max(0,n-r))]})]})}function Um({channelId:e}){let[t,n]=P(null),[r,i]=P(null),[a,o]=P(null),[s,c]=P(``),l=I(null);if(en(e=>e===`back`?(gd(),!0):void 0),F(()=>{q.channels.get(e).then(async e=>{if(!e)return;n(e);let t=await q.epgLinks.get(e.id);o(t?t.key:null),i((await q.epgChannels.where(`providerId`).equals(e.providerId).toArray()).sort((e,t)=>e.name.localeCompare(t.name)))})},[e]),F(()=>{r&&setTimeout(()=>R(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 q.epgLinks.put({id:t.id,providerId:t.providerId,key:e,manual:!0}):await q.epgLinks.delete(t.id),tl(t.providerId,void 0,`epg`),gd()};return M(`div`,{class:`epg-mapping`,children:[M(`div`,{class:`em-left`,children:[M(`button`,{class:`btn outline`,"data-focus":!0,onClick:gd,children:[M(B,{name:`back`}),z(`back`)]}),M(`h1`,{children:z(`epg_mapping_title`)}),M(`p`,{class:`em-channel`,children:t.name}),a&&M(`p`,{class:`muted`,children:z(`epg_mapping_current`,f?f.name:a.split(`|`)[1])}),M(Cn,{label:z(`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:z(`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:z(`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))]})})]})}function Wm(e,t){let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<Math.max(n.length,r.length);e++)if((n[e]||0)!==(r[e]||0))return(n[e]||0)>(r[e]||0);return!1}var Gm=`https://registry.npmjs.org/@erhan%2futopyatv/latest`,Km=864e5;async function qm(){let e=await fetch(Gm,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);return(await e.json()).version}async function Jm(){try{if(Date.now()-Number(localStorage.getItem(`updateChecked`)||0)<Km)return;localStorage.setItem(`updateChecked`,String(Date.now()));let e=await qm();Wm(e,`0.1.14`)&&V(z(`set_update_available`,e))}catch(e){}}var Ym=`utopya.settings`,Xm=`utopya-yedek-`;async function Zm(){let[e,t,n,r,i,a,o]=await Promise.all([q.providers.toArray(),q.favorites.toArray(),q.groups.toArray(),q.groupItems.toArray(),q.catState.toArray(),q.chanState.toArray(),q.progress.toArray()]),s={version:1,app:`tizen`,createdAt:Date.now(),settings:localStorage.getItem(Ym)||`{}`,providers:e,favorites:t,groups:n,groupItems:r,catState:i,chanState:a,progress:o};return JSON.stringify(s)}var Qm=e=>e<10?`0${e}`:`${e}`;function $m(e=new Date){return`${Xm}${e.getFullYear()}${Qm(e.getMonth()+1)}${Qm(e.getDate())}-${Qm(e.getHours())}${Qm(e.getMinutes())}.json`}async function eh(){let e=await Zm(),t=$m();if(!Pt){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 th(){if(!Pt)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(Xm)===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 nh(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 rh(e){let t=JSON.parse(e);if(!t||t.version!==1||!Array.isArray(t.providers))throw Error(`yedek biçimi tanınmadı`);let n=[q.channels,q.movies,q.series,q.episodes,q.categories,q.programs,q.epgLinks,q.epgChannels,q.recents],r=[q.providers,q.favorites,q.groups,q.groupItems,q.catState,q.chanState,q.progress];await q.transaction(`rw`,[...n,...r],async()=>{for(let e of[...n,...r])await e.clear();await q.providers.bulkPut(t.providers),await q.favorites.bulkPut(t.favorites),await q.groups.bulkPut(t.groups),await q.groupItems.bulkPut(t.groupItems),await q.catState.bulkPut(t.catState),await q.chanState.bulkPut(t.chanState),await q.progress.bulkPut(t.progress)});try{localStorage.setItem(Ym,t.settings)}catch(e){}Rc(),await Jc();for(let e of await q.providers.toArray())tl(e.id)}var ih=[[`sources`,`set_sources`,`dns`],[`player`,`ux_video_audio`,`play`],[`subtitles`,`ux_subtitles`,`list`],[`remote`,`ux_controls`,`tune`],[`look`,`ux_appearance`,`grid`],[`epg`,`set_epg`,`guide`],[`parental`,`set_parental`,`lock`],[`hidden`,`set_hidden`,`list`],[`about`,`set_about`,`more`]];function $(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 ah=({text:e})=>M(`h3`,{class:`set-header`,children:e});function oh(){let[e,t]=P(`sources`),[n,r]=P(null),i=I(null),a=J.value;F(()=>{setTimeout(()=>R(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=>zc(e),c=e=>z(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:ih.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(B,{name:i}),M(`span`,{children:z(r)})]},n))}),M(`div`,{class:`set-panel glass`,"data-focus-group":`set-panel`,children:[M(`span`,{class:`ux-eyebrow`,children:z(`nav_settings`)}),M(`h2`,{children:z(ih.find(t=>t[0]===e)[1])}),M(`p`,{class:`set-intro`,children:z(`ux_settings_hint`)}),e===`sources`&&M(ch,{setDialog:r}),(e===`player`||e===`subtitles`)&&(()=>{let t=[[null,z(`set_lang_default`)],[`tr`,`Türkçe`],[`en`,`English`],[`de`,`Deutsch`],[`fr`,`Français`],[`ar`,`العربية`],[`ru`,`Русский`]],n=[[null,z(`player_off`)],...t.slice(1)],i=[[`fit`,z(`aspect_fit`)],[`fill`,z(`aspect_fill`)],[`zoom`,z(`aspect_zoom`)]],u=[.75,1,1.25,1.5,1.75].map(e=>[e,`%${Math.round(e*100)}`]),d=[[0,z(`color_white`)],[1,z(`color_yellow`)],[2,z(`color_cyan`)]];return M(x,{children:[e===`player`&&M($,{title:z(`set_audio_lang`),value:l(t,a.preferredAudio),onClick:()=>o(z(`set_audio_lang`),t,a.preferredAudio,e=>s({preferredAudio:e}))}),e===`subtitles`&&M(x,{children:[M($,{title:z(`set_sub_lang`),value:l(n,a.preferredSubtitle),onClick:()=>o(z(`set_sub_lang`),n,a.preferredSubtitle,e=>s({preferredSubtitle:e}))}),M($,{title:z(`set_sub_size`),value:l(u,a.subtitleScale),onClick:()=>o(z(`set_sub_size`),u,a.subtitleScale,e=>s({subtitleScale:e}))}),M($,{title:z(`set_sub_color`),value:l(d,a.subtitleColor),onClick:()=>o(z(`set_sub_color`),d,a.subtitleColor,e=>s({subtitleColor:e}))}),M($,{title:z(`set_sub_bg`),value:c(a.subtitleBackground),onClick:()=>s({subtitleBackground:!a.subtitleBackground})}),M($,{title:z(`set_auto_subs`),subtitle:z(`set_auto_subs_hint`),value:c(a.autoSubtitles),onClick:()=>s({autoSubtitles:!a.autoSubtitles})}),M(dh,{setDialog:r})]}),e===`player`&&M(x,{children:[M($,{title:z(`set_remember_tracks`),value:c(a.rememberTracks),onClick:()=>s({rememberTracks:!a.rememberTracks})}),M($,{title:z(`set_aspect`),value:l(i,a.aspect),onClick:()=>o(z(`set_aspect`),i,a.aspect,e=>s({aspect:e}))}),M($,{title:z(`set_preview`),value:c(a.previewAutoplay),onClick:()=>s({previewAutoplay:!a.previewAutoplay})}),M($,{title:z(`set_auto_next`),value:c(a.autoNextEpisode),onClick:()=>s({autoNextEpisode:!a.autoNextEpisode})}),M($,{title:z(`set_fallback`),value:c(a.fallbackToPrevious),onClick:()=>s({fallbackToPrevious:!a.fallbackToPrevious})})]})]})})(),e===`look`&&M(ph,{setDialog:r,choose:o}),e===`remote`&&M(hh,{choose:o}),e===`epg`&&(()=>{let e=[6,12,24,48].map(e=>[e,z(`set_epg_hours`,e)]),t=[];for(let e=-180;e<=180;e+=30)t.push([e,z(`set_epg_offset_value`,e)]);let n=Gc.value;return M(x,{children:[M($,{title:z(`set_epg_interval`),value:l(e,a.epgHours),onClick:()=>o(z(`set_epg_interval`),e,a.epgHours,e=>s({epgHours:e}))}),M($,{title:z(`set_epg_offset`),value:l(t,a.epgOffsetMin),onClick:()=>o(z(`set_epg_offset`),t,a.epgOffsetMin,e=>{s({epgOffsetMin:e}),n&&tl(n,void 0,`epg`)})}),M($,{title:z(`set_epg_refresh`),subtitle:z(`set_epg_urls`),onClick:()=>{n&&tl(n,void 0,`epg`)}})]})})(),e===`parental`&&M(x,{children:[Yl()?M(x,{children:[M($,{title:z(`set_pin_change`),onClick:()=>r({kind:`pin`,title:z(`pin_enter`),check:Xl,done:()=>sh(r)})}),M($,{title:z(`set_pin_remove`),onClick:()=>r({kind:`pin`,title:z(`pin_enter`),check:Xl,done:()=>{Zl(null),r({kind:`notice`,text:z(`set_pin_removed`)})}})})]}):M($,{title:z(`set_pin_set`),onClick:()=>sh(r)}),M($,{title:z(`set_hide_locked`),value:c(a.hideLocked),onClick:()=>s({hideLocked:!a.hideLocked})}),M($,{title:z(`set_adult_lock`),value:c(a.adultAutoLock),onClick:()=>s({adultAutoLock:!a.adultAutoLock})}),M(`p`,{class:`set-hint`,children:z(`set_parental_hint`)})]}),e===`hidden`&&M(mh,{}),e===`about`&&M(`div`,{class:`set-about`,children:[M(`h3`,{children:z(`app_name`)}),M(`p`,{class:`set-version`,children:z(`set_version`,`0.1.14`)}),M($,{title:z(`set_update_check`),onClick:async()=>{try{let e=await qm();r({kind:`notice`,text:Wm(e,`0.1.14`)?`${z(`set_update_available`,e)}. ${z(`tz_update_hint`)}`:z(`set_update_none`,`0.1.14`)})}catch(e){r({kind:`notice`,text:z(`set_update_failed`)})}}}),M(`p`,{children:z(`set_about_text`)}),M(ah,{text:z(`set_keys`)}),M(`p`,{class:`muted`,children:z(`tz_keys_text`)}),M(`p`,{class:`muted set-ua`,children:navigator.userAgent})]})]}),n&&n.kind===`menu`&&M(On,{title:n.title,items:n.items,onClose:()=>r(null)}),n&&n.kind===`notice`&&M(Nn,{text:n.text,onClose:()=>r(null)}),n&&n.kind===`confirm`&&M(wn,{title:n.title,message:n.text,onConfirm:()=>{r(null),n.ok()},onDismiss:()=>r(null)}),n&&n.kind===`pin`&&M(jn,{title:n.title,check:n.check,onDone:e=>{r(null),n.done(e)},onClose:()=>r(null)},n.title),n&&n.kind===`text`&&M(Mn,{title:n.title,label:n.label,initial:n.initial,placeholder:n.placeholder,password:n.password,onSave:n.save,onClose:()=>r(null)})]})}function sh(e){e({kind:`pin`,title:z(`pin_new`),check:()=>!0,done:t=>{e({kind:`pin`,title:z(`set_pin_confirm`),check:e=>e===t,done:()=>{Zl(t),e({kind:`notice`,text:z(`set_pin_saved`)})}})}})}function ch({setDialog:e}){let t=Wc.value||[],n=Gc.value,r=Kc.value,i=e=>e?new Date(e).toLocaleString(hn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`}):z(`set_never`),a=t=>{let r=[];t.id!==n&&r.push({label:z(`set_make_active`),onSelect:()=>Yc(t.id)}),r.push({label:z(`set_resync`),onSelect:()=>tl(t.id)}),r.push({label:z(`set_edit`),onSelect:()=>o(t)}),r.push({label:z(`set_test_connection`),onSelect:async()=>{try{await Xc(t),e({kind:`notice`,text:z(`set_connection_ok`)})}catch(t){e({kind:`notice`,text:z(`error_${(t.error||`unknown`).toLowerCase()}`)})}}}),t.type===`xtream`&&r.push({label:z(`set_account`),onSelect:()=>{e({kind:`notice`,text:[t.expDate?z(`set_account_expiry`,i(t.expDate)):z(`set_account_unlimited`),t.maxConnections?z(`set_account_connections`,`?`,String(t.maxConnections)):null].filter(Boolean).join(`
|
|
14
|
-
`)})}}),r.push({label:z(`set_delete_source`),onSelect:()=>e({kind:`confirm`,title:t.name,text:z(`set_delete_confirm`,t.name),ok:()=>uh(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 q.providers.update(t.id,i(e.trim())),await Jc(),a&&tl(t.id);let n=(Wc.peek()||[]).find(e=>e.id===t.id);n&&o(n)}})}),r=[n(z(`onb_name`),t.name,e=>({name:e||t.name}),!1)];t.type===`xtream`?r.push(n(z(`onb_server`),t.url,e=>({url:Cr(e)}),!0),n(z(`onb_username`),t.username,e=>({username:e}),!0),n(z(`onb_password`),t.password,e=>({password:e}),!0,!0)):t.url.startsWith(`file:`)||r.push(n(z(`onb_url`),t.url,e=>({url:e.split(/\s+/).map(Cr).filter(Boolean).join(` `)}),!0)),r.push(n(z(`onb_epg`),t.epgUrls.join(` `),e=>({epgUrls:e.split(/\s+/).map(Cr).filter(Boolean)}),!0),n(z(`onb_user_agent`),t.userAgent||``,e=>({userAgent:e||null}),!1)),e({kind:`menu`,title:`${t.name} · ${z(`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($,{title:`${e.name}${e.id===n?` ✓`:``}`,subtitle:`${e.type===`xtream`?`Xtream`:`M3U`} · ${t?z(`sync_title`)+`…`:z(`set_last_sync`,i(e.lastSync))}`,value:e.id===n?z(`set_active`):void 0,onClick:()=>a(e)},e.id)}),M($,{title:z(`set_add_source`),onClick:()=>X.value=`onboarding`}),M(ah,{text:z(`set_backup`)}),M($,{title:z(`set_backup_now`),subtitle:z(`set_backup_warning`),onClick:async()=>{try{e({kind:`notice`,text:z(`set_backup_done`,await eh())})}catch(t){e({kind:`notice`,text:`${z(`error_storage`)} (${String(t)})`})}}}),M($,{title:z(`set_restore`),onClick:async()=>{let t=t=>e({kind:`confirm`,title:z(`set_restore`),text:z(`set_restore_confirm`),ok:async()=>{try{await rh(await t()),e({kind:`notice`,text:z(`set_restore_done`)})}catch(t){e({kind:`notice`,text:`${z(`error_unknown`)} (${String(t)})`})}}}),n=(await th()).map(e=>({label:e.name,onSelect:()=>t(()=>nh(e.uri))}));Pt||n.push({label:z(`set_restore_file`),onSelect:()=>lh(e=>t(async()=>e))}),e(n.length?{kind:`menu`,title:z(`set_restore`),items:n}:{kind:`notice`,text:z(`set_restore_none`)})}})]})}function lh(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 uh(e){let t=[q.channels,q.movies,q.series,q.episodes,q.categories,q.programs,q.epgLinks,q.epgChannels,q.favorites,q.recents,q.progress,q.catState,q.chanState];for(let n of t)await n.where(`providerId`).equals(e).delete();await q.providers.delete(e),await Jc()}function dh({setDialog:e}){let[t,n]=P(null);F(()=>{xm().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 Cm(H(H({},r),{},{[t]:e.trim()})),n(await xm())}})});return M($,{title:z(`os_account`),subtitle:z(`os_account_hint`),value:z(t&&t.key?`os_account_set`:`os_account_none`),onClick:()=>e({kind:`menu`,title:z(`os_account`),items:[i(`key`,z(`os_api_key`)),i(`user`,z(`os_username`)),i(`pass`,z(`os_password`))]})})}var fh={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 ph({setDialog:e,choose:t}){let n=J.value,r=zc,i=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1],a=[[`home`,z(`nav_home`)],[`live`,z(`nav_live`)],[`guide`,z(`nav_guide`)],[`movies`,z(`nav_movies`)],[`series`,z(`nav_series`)],[`last`,z(`start_last`)],[`firstFav`,z(`start_first_fav`)]],o=[[`GLOBAL`,z(`numbering_global`)],[`CATEGORY`,z(`numbering_category`)],[`HIDDEN`,z(`numbering_hidden`)]],s=[[`blue`,z(`accent_blue`)],[`orange`,z(`accent_orange`)],[`green`,z(`accent_green`)],[`purple`,z(`accent_purple`)],[`red`,z(`accent_red`)]],c=[[`navy`,z(`theme_navy`)],[`amoled`,z(`theme_amoled`)],[`graphite`,z(`theme_graphite`)],[`forest`,z(`theme_forest`)],[`wine`,z(`theme_wine`)]],l=n.homeShelves.filter(e=>Mc.indexOf(e)>=0);return M(x,{children:[M($,{title:z(`set_start`),subtitle:z(`ux_start_desc`),value:i(a,n.startScreen),onClick:()=>t(z(`set_start`),a,n.startScreen,e=>r({startScreen:e}))}),M($,{title:z(`set_numbering`),value:i(o,n.numbering),onClick:()=>t(z(`set_numbering`),o,n.numbering,e=>r({numbering:e}))}),M($,{title:z(`set_accent`),subtitle:z(`ux_accent_desc`),value:i(s,n.accent),onClick:()=>t(z(`set_accent`),s,n.accent,e=>r({accent:e}))}),M($,{title:z(`set_theme`),subtitle:z(`ux_theme_desc`),value:i(c,n.theme),onClick:()=>t(z(`set_theme`),c,n.theme,e=>r({theme:e}))}),M($,{title:z(`set_filter_words`),subtitle:z(`set_filter_words_hint`),value:n.filterWords.length?n.filterWords.join(`, `):z(`set_none`),onClick:()=>e({kind:`text`,title:z(`set_filter_words`),label:z(`set_filter_words`),initial:n.filterWords.join(`, `),placeholder:`[RAW], FHD, VIP`,save:e=>r({filterWords:e.split(`,`).map(e=>e.trim()).filter(Boolean)})})}),M($,{title:z(`home_edit`),subtitle:z(`set_home_shelves`),value:`${l.length} / ${Mc.length}`,onClick:()=>hd({name:`homeEdit`})}),M($,{title:z(`set_language`),value:hn.value===`tr`?`Türkçe`:`English`,onClick:()=>t(z(`set_language`),[[`tr`,`Türkçe`],[`en`,`English`]],hn.value,gn)})]})}function mh(){let e=Gc.value,[t,n]=P([]),[r,i]=P([]),a=async()=>{let[t,r]=await Promise.all([q.catState.where(`providerId`).equals(e).filter(e=>!!e.hidden).toArray(),q.chanState.where(`providerId`).equals(e).filter(e=>!!e.hidden).toArray()]);n((await q.categories.bulkGet(t.map(e=>e.id))).filter(e=>!!e)),i((await q.channels.bulkGet(r.map(e=>e.id))).filter(e=>!!e).sort((e,t)=>e.number-t.number))};return F(()=>{a()},[e]),!t.length&&!r.length?M(`p`,{class:`set-hint`,children:z(`set_hidden_none`)}):M(x,{children:[t.length>0&&M(ah,{text:z(`set_hidden_categories`)}),t.map(t=>M($,{title:t.name,value:z(`set_unhide`),onClick:async()=>{await Kl(t.id,e,{hidden:!1}),a()}},t.id)),r.length>0&&M(ah,{text:z(`set_hidden_channels`)}),r.map(t=>M($,{title:`${t.number} ${t.name}`,value:z(`set_unhide`),onClick:async()=>{await ql(t.id,e,{hidden:!1}),await zl(e),a()}},t.id))]})}function hh({choose:e}){let t=J.value,n=zc,r=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1],i=[[`FAVORITE`,z(`act_favorite`)],[`AUDIO`,z(`player_audio`)],[`SUBTITLES`,z(`player_subtitles`)],[`ASPECT`,z(`player_aspect`)],[`GUIDE`,z(`player_guide`)],[`CHANNELS`,z(`pc_channels`)],[`INFO`,z(`pc_info`)],[`NONE`,z(`act_none`)]];return M(x,{children:[M(`p`,{class:`set-hint`,children:z(`ux_keyboard_hint`)}),` `,M(ah,{text:z(`set_color_keys`)}),[`key_red`,`key_green`,`key_yellow`,`key_blue`].map((a,o)=>M($,{title:z(a),value:r(i,t.colorKeys[o]),onClick:()=>e(z(a),i,t.colorKeys[o],e=>{let r=t.colorKeys.slice();r[o]=e,n({colorKeys:r})})},a))]})}function gh(){let e=J.value.homeShelves.filter(e=>Mc.indexOf(e)>=0),t=Mc.filter(t=>e.indexOf(t)<0),[n,r]=P(null),[i,a]=P(null),o=I(null);F(()=>{R(o.current)},[]),F(()=>{if(!i||!o.current)return;let e=o.current.querySelector(`[data-he="${i}"]`);e&&e.focus(),a(null)});let s=e=>zc({homeShelves:e});en(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:z(fh[i])}),n===i&&M(`span`,{class:`he-moving`,children:z(`home_edit_moving`)})]}),M(`button`,{class:`he-switch${o?` on`:``}`,"data-focus":!0,"data-he":`sw-${i}`,onClick:()=>c(i),children:z(o?`set_on`:`set_off`)})]},i)};return M(`div`,{class:`home-edit`,ref:o,children:[M(`div`,{class:`he-head`,children:[M(`h1`,{children:z(`home_edit`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>{r(null),s(Mc)},children:z(`home_edit_reset`)})]}),M(`p`,{class:`he-hint`,children:z(`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:z(`home_edit_hidden`)}),t.map(e=>l(e,null))]})]})}var _h=(e,t)=>e&&typeof e[t]==`string`&&e[t].trim()||null,vh=(e,t)=>{let n=e&&e[t],r=typeof n==`number`?n:parseFloat(String(n));return isFinite(r)?r:null};function yh(e){let t=e.trim().replace(/^stremio:\/\//i,`https://`);return/manifest\.json$/i.test(t)||(t=`${t.replace(/\/+$/,``)}/manifest.json`),t}async function bh(e){let t=await fetch(Sr(e),{credentials:`omit`});if(!t.ok)throw Error(`HTTP ${t.status}`);return t.json()}var xh=new Map;function Sh(e){let t=xh.get(e);return t||(t=bh(e).then(t=>Ch(e,t)),t.catch(()=>xh.delete(e)),xh.set(e,t)),t}function Ch(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&&_h(e,`type`)&&_h(e,`id`)}).map(e=>({type:_h(e,`type`),id:_h(e,`id`),name:_h(e,`name`)||_h(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:_h(t,`id`)||e,name:_h(t,`name`)||a,logo:_h(t,`logo`),types:n(`types`).filter(e=>typeof e==`string`),idPrefixes:i.length?i:null,resources:n(`resources`).map(e=>typeof e==`string`?e:_h(e,`name`)).filter(e=>!!e),catalogs:r}}var wh=(e,t,n,r)=>e.resources.indexOf(t)>=0&&e.types.indexOf(n)>=0&&(!e.idPrefixes||e.idPrefixes.some(e=>r.startsWith(e))),Th=e=>encodeURIComponent(e).replace(/\+/g,`%20`),Eh=e=>({id:_h(e,`id`)||``,type:_h(e,`type`)||`movie`,name:_h(e,`name`)||``,poster:_h(e,`poster`),rating:vh(e,`imdbRating`)});async function Dh(e,t){let n=await bh(`${e.base}/catalog/${Th(t.type)}/${Th(t.id)}.json`);return(Array.isArray(n.metas)?n.metas:[]).map(Eh).filter(e=>e.id&&e.name)}async function Oh(e,t,n){for(let r of e)try{let e=await Sh(r);if(!wh(e,`meta`,t,n))continue;let i=(await bh(`${e.base}/meta/${Th(t)}/${Th(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:_h(e,`id`)||``,title:_h(e,`title`)||_h(e,`name`)||``,season:vh(e,`season`)||0,episode:vh(e,`episode`)||vh(e,`number`)||0,thumbnail:_h(e,`thumbnail`)})).filter(e=>e.id);return H(H({},Eh(i)),{},{type:_h(i,`type`)||t,background:_h(i,`background`),description:_h(i,`description`),releaseInfo:_h(i,`releaseInfo`)||(vh(i,`year`)?String(vh(i,`year`)):null),genres:a,videos:o})}catch(e){console.warn(`stremio meta`,r,e)}return null}async function kh(e,t,n){let r=await Promise.all(e.map(async e=>{try{let r=await Sh(e);if(!wh(r,`stream`,t,n))return[];let i=await bh(`${r.base}/stream/${Th(t)}/${Th(n)}.json`);return(Array.isArray(i.streams)?i.streams:[]).filter(e=>/^https?:\/\//i.test(_h(e,`url`)||``)).map(e=>({url:_h(e,`url`),name:(_h(e,`name`)||r.name).replace(/\n/g,` `),title:_h(e,`title`)||_h(e,`description`)}))}catch(t){return console.warn(`stremio stream`,e,t),[]}}));return[].concat(...r)}var Ah=(e,t)=>({key:`${e.type}:${e.id}`,id:t,title:e.name,poster:e.poster,rating:e.rating}),jh=e=>e===`movie`?z(`nav_movies`):e===`series`?z(`nav_series`):e;function Mh(){let e=J.value.stremioAddons,[t,n]=P([]),[r,i]=P([]),[a,o]=P(!1),[s,c]=P(!1),[l,u]=P(null),d=I(null);F(()=>{document.activeElement===document.body&&R(d.current)},[]),F(()=>{let t=!0;return i([]),(async()=>{let r=[];for(let t of e)try{r.push(await Sh(t))}catch(e){}if(t){n(r);for(let e of r)for(let n of e.catalogs)try{let r=await Dh(e,n);if(!t)return;r.length&&i(t=>[...t,{key:`${e.url}|${n.type}|${n.id}`,title:`${n.name} · ${jh(n.type)} · ${e.name}`,items:r}])}catch(e){}}})(),()=>{t=!1}},[e.join(`
|
|
15
|
-
`)]);let f=async t=>{let n=yh(t);try{await Sh(n),e.indexOf(n)<0&&zc({stremioAddons:[...e,n]}),o(!1),c(!1)}catch(e){c(!0)}};return M(`div`,{class:`extensions`,ref:d,children:[M(`h2`,{class:`shelf-title`,children:z(`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(B,{name:`add`}),z(`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:z(e.length?`ext_note`:`ext_empty`)}),r.map(e=>M(Id,{title:e.title,info:!0,children:e.items.map((e,t)=>M(kd,{card:Ah(e,t),onClick:()=>hd({name:`stremio`,type:e.type,id:e.id})},`${e.type}:${e.id}`))},e.key)),a&&M(Mn,{title:z(`ext_add`),label:z(s?`ext_failed`:`ext_url`),initial:``,placeholder:`https://…/manifest.json`,onSave:e=>{e.trim()&&(o(!0),f(e))},onClose:()=>o(!1)}),l&&M(wn,{title:l.name,message:z(`ext_remove`),confirmLabel:z(`ext_remove`),onConfirm:()=>{zc({stremioAddons:e.filter(e=>e!==l.url)}),u(null)},onDismiss:()=>u(null)})]})}function Nh({type:e,id:t}){let n=J.value.stremioAddons,[r,i]=P(void 0),[a,o]=P(1),[s,c]=P(null),l=I(null);en(e=>{if(e===`back`)return gd(),!0}),F(()=>{let r=!0;return Oh(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(()=>R(l.current),0)}),()=>{r=!1}},[e,t]);let u=async(t,r)=>{c({title:r,list:null});let i=await kh(n,e,t);c({title:r,list:i.map(e=>({label:e.title?`${e.name} · ${e.title}`:e.name,onSelect:()=>hd({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:gd,children:[M(B,{name:`back`}),z(`back`)]}),M(`p`,{class:`empty`,children:z(`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($p,{src:r.background||r.poster}),M(`div`,{class:`detail-scroll series`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:gd,children:[M(B,{name:`back`}),z(`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(em,{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:z(`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?z(`ext_specials`):z(`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(xn,{src:e.thumbnail||r.poster})}),M(`span`,{class:`ep-text`,children:M(`span`,{class:`ep-title`,children:z(`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:z(`ext_sources`)}),M(`div`,{class:`spinner`})]})}):M(On,{title:z(`ext_sources`),items:s.list.length?s.list:[{label:z(`ext_no_sources`),onSelect:()=>{}}],onClose:()=>c(null)}))]})}function Ph(){let[e,t]=P(null),[n,r]=P(null),i=I(null),a=Zu.value;F(()=>{q.reminders.orderBy(`start`).toArray().then(e=>{t(e),setTimeout(()=>{document.activeElement===document.body&&R(i.current)},0)})},[a]);let o=e=>new Date(e).toLocaleDateString(hn.value===`tr`?`tr-TR`:`en-GB`,{weekday:`short`,day:`numeric`,month:`short`}),s=async e=>{let t=await eu(e.providerId,{type:`all`}),n=t.indexOf(e.channelId);n>=0&&bd(t,n)};return M(`div`,{class:`recordings`,ref:i,children:[M(`div`,{class:`row rec-tabs`,children:M(`span`,{class:`chip selected`,children:z(`rec_tab_scheduled`)})}),M(`p`,{class:`muted rec-note`,children:z(`tz_rec_note`)}),e&&!e.length&&M(`p`,{class:`empty`,children:z(`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:z(`home_open_channel`),onSelect:()=>s(e)},{label:z(`guide_remind_off`),onSelect:()=>td(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)} ${Al(e.start)}${e.stop?`–${Al(e.stop)}`:``}`})]}),e.repeat?M(`span`,{class:`rec-repeat`,children:z(e.repeat===1?`rec_repeat_daily`:`rec_repeat_weekly`)}):null]},e.id))}),n&&M(On,{title:n.title,items:n.items,onClose:()=>r(null)})]})}var Fh=Fs(`[^LETTER0-9]+`,`g`),Ih=e=>e.toLowerCase().split(Fh).filter(Boolean),Lh=(e,t)=>t.every(t=>e.some(e=>e.startsWith(t)));function Rh(e,t){let n=e.toLowerCase();return n===t?0:n.startsWith(t)?1:n.indexOf(t)>=0?2:3}var zh=null,Bh=40,Vh=null,Hh=e=>!!(Ll.value.get(e.id)||{}).hidden||Bl(e);async function Uh(e,t){if(Vh&&Vh.stamp===t)return Vh;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:Ih(e.name)})}).then(()=>n)},[r,i,a,o]=await Promise.all([n(q.channels),n(q.movies),n(q.series),q.categories.where(`providerId`).equals(e).toArray()]);return Vh={stamp:t,live:r,movie:i,series:a,blocked:new Set(o.filter(Hh).map(e=>e.id))},Vh}function Wh(e,t,n,r){let i=[];for(let n of e)n.categoryId!==null&&r.has(n.categoryId)||Lh(n.w,t)&&i.push(n);return i.sort((e,t)=>Rh(e.name,n)-Rh(t.name,n)||e.name.length-t.name.length).slice(0,Bh)}async function Gh(e,t,n){let r=n.trim().toLowerCase(),i=Ih(r);if(r.length<2||!i.length)return null;let a=await Uh(e,t),o=await Kh(e,t),s=Date.now()-216e5,c=[];for(let e of o.list)if(e.stop>s&&Lh(e.w,i)&&c.push(e.id),c.length>=400)break;let l=(await q.programs.bulkGet(c)).filter(e=>!!e).sort((e,t)=>e.start-t.start),u=await q.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>=Bh))break}return{channels:Wh(a.live,i,r,a.blocked),movies:Wh(a.movie,i,r,a.blocked),series:Wh(a.series,i,r,a.blocked),programs:p}}async function Kh(e,t){if(zh&&zh.stamp===t&&Date.now()-zh.at<36e5)return zh;let n=Date.now()-216e5,r=[];return await q.programs.where(`providerId`).equals(e).each(e=>{e.stop>n&&r.push({id:e.id,start:e.start,stop:e.stop,w:Ih(e.title)})}),zh={stamp:t,at:Date.now(),list:r},zh}function qh(e){let t=e.trim();t.length<2||zc({searchHistory:[t,...(J.peek().searchHistory||[]).filter(e=>e.toLowerCase()!==t.toLowerCase())].slice(0,12)})}function Jh(){let e=Gc.value,t=(Wc.value||[]).find(t=>t.id===e),n=`${t&&t.lastSync||0}|${t&&t.lastEpgSync||0}`,[r,i]=P(``),[a,o]=P(null),s=I(null),c=J.value.searchHistory||[];F(()=>{setTimeout(()=>R(s.current),0)},[]),F(()=>{let t=!0,i=setTimeout(async()=>{let i=await Gh(e,n,r);if(!t)return;if(!i)return o(null);let[a,s,c,l]=await Promise.all([q.channels.bulkGet(i.channels.map(e=>e.id)),q.movies.bulkGet(i.movies.map(e=>e.id)),q.series.bulkGet(i.series.map(e=>e.id)),q.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=()=>qh(r),u=async(t,n)=>{l();let r=await eu(e,{type:`all`}),i=r.indexOf(t);i>=0&&bd(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(hn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`})} ${Al(e)}`;return M(`div`,{class:`search`,ref:s,children:[M(`div`,{class:`search-row`,children:M(Cn,{label:z(`nav_search`),value:r,onInput:i,placeholder:z(`search_hint`),initial:!0,class:`search-field`})}),!a&&c.length>0&&M(`section`,{class:`shelf`,children:[M(`h2`,{class:`shelf-title`,children:z(`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:()=>zc({searchHistory:[]}),children:z(`search_clear`)})]})]}),d&&M(`p`,{class:`search-empty`,children:z(`search_no_results`,r.trim())}),a&&a.channels.length>0&&M(Id,{title:z(`search_channels`),children:a.channels.map(e=>M(Wd,{cc:{channel:e,now:null},onClick:()=>u(e.id),onLongPress:()=>{}},e.id))}),a&&a.movies.length>0&&M(Id,{title:z(`search_movies`),info:!0,children:a.movies.map(e=>{let t=Tu(e);return M(kd,{card:t,onClick:()=>{l(),hd({name:`movie`,id:e.id})}},t.key)})}),a&&a.series.length>0&&M(Id,{title:z(`search_series`),children:a.series.map(e=>{let t=Tu(e);return M(Ad,{card:t,onClick:()=>{l(),hd({name:`series`,id:e.id})}},t.key)})}),a&&a.programs.length>0&&M(`section`,{class:`search-programs`,children:[M(`h2`,{class:`shelf-title`,children:z(`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(id,{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 Yh(e){let{program:t,channel:n}=e,r=I(null),i=I(document.activeElement);F(()=>(R(r.current),()=>i.current&&i.current.isConnected&&i.current.focus()),[]),en(t=>t===`back`?(e.onClose(),!0):`default`);let a=Date.now(),o=new Date(t.start).toLocaleDateString(hn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`long`}),s=[],c=ep(n,t.start,a);return t.start<=a&&t.stop>a?(s.push([z(`guide_watch`),e.onWatch]),c&&s.push([z(`guide_restart`),e.onArchive])):t.stop<=a&&c&&s.push([z(`guide_watch_archive`),e.onArchive]),t.start>a&&(s.push([z(Zu.value.has(t.id)?`guide_remind_off`:`guide_remind`),async()=>{V(z(await ed(t,n)?`guide_reminder_set`:`guide_reminder_removed`))}]),s.push([z(`tz_remind_daily`),async()=>{await ed(t,n,1),V(z(`guide_reminder_set`))}]),s.push([z(`tz_remind_weekly`),async()=>{await ed(t,n,2),V(z(`guide_reminder_set`))}])),s.push([z(`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} ${Al(t.start)} – ${Al(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 Xh=L(null),Zh=864e5;function Qh({onOpenPlayer:e,onSearch:t}){let n=Gc.value,r=Xh.value||{filter:{type:`all`},label:z(`cat_all`)},[i,a]=P(null),[o,s]=P([]),[c,l]=P(yp(Date.now())),[u,d]=P(null),[f,p]=P(null),m=J.value;F(()=>{q.categories.where(`[providerId+kind]`).equals([n,`live`]).sortBy(`order`).then(s)},[n]),F(()=>{let e=!0;return a(null),eu(n,r.filter).then(t=>e&&a(t)),()=>{e=!1}},[n,JSON.stringify(r.filter)]);let h=Oe(()=>i?new nu(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(hn.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:z(`guide_category`,r.label),items:[{label:z(`cat_all`),filter:{type:`all`}},{label:z(`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:()=>Xh.value={filter:e.filter,label:e.label}}))}),children:z(`guide_category`,r.label)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(c-Zh),children:z(`guide_prev_day`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(yp(Date.now())),children:z(`guide_now`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(c+Zh),children:z(`guide_next_day`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:t,children:z(`guide_search`)})]})]}),i&&!i.length?M(`p`,{class:`empty`,children:z(`live_empty_category`)}):h&&M(xp,{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:z(`guide_hint`)}),u&&M(On,{title:u.title,items:u.items,onClose:()=>d(null)}),f&&M(Yh,{program:f.p,channel:f.c,onClose:()=>p(null),onWatch:()=>g(f.row),onArchive:()=>g(f.row,f.p)})]})}var $h=[{id:`home`,label:`nav_home`},{id:`live`,label:`nav_live`},{id:`movies`,label:`nav_movies`},{id:`series`,label:`nav_series`},{id:`library`,label:`nav_library`},{id:`search`,label:`nav_search`,icon:`search`},{id:`settings`,label:`nav_settings`,icon:`settings`}],eg=L(!1),tg=null,ng=e=>{if(e===`back`&&md.value.length)return gd();e===`back`&&tg&&tg.isConnected&&(tg&&!tg.contains(document.activeElement)?R(tg):X.value===`home`?eg.value=!0:X.value=`home`)};async function rg(){let e=Xu.value;Xu.value=null,Gc.peek()!==e.providerId&&Yc(e.providerId);let t=await eu(e.providerId,{type:`all`}),n=t.indexOf(e.channelId);n<0||bd(t,n)}var ig=!1,ag=new Map;function og({active:e}){let t=I(null);return F(()=>{tg=t.current,ig||(ig=!0,R(tg))},[]),M(`header`,{class:`topbar glass`,children:[M(`span`,{class:`brand`,children:z(`app_name`)}),M(`nav`,{class:`pills`,ref:t,"data-focus-group":`menu`,children:$h.map(t=>{let n=e||(X.value===`guide`?`live`:[`recordings`,`extensions`].includes(X.value)?`library`:X.value),r=t.id===n;return M(`button`,{class:`pill${r?` selected`:``}${t.icon?` icon-only`:``}`,"data-focus":!0,"data-focus-default":r||void 0,"aria-label":z(t.label),onClick:()=>{if(t.id===`home`){ag.delete(`home`),md.value=[],X.value=`home`;return}let e=X.value;e!==t.id&&ag.set(e,md.value),md.value=r?[]:ag.get(t.id)||[],ag.delete(t.id),X.value=t.id},children:[t.icon&&M(B,{name:t.icon}),M(`span`,{children:z(t.label)})]},t.id)})})]})}function sg(e){switch(e.name){case`browse`:return M(Jp,{kind:e.kind,title:e.title,filter:e.filter,sort:e.sort});case`movie`:return M(im,{id:e.id});case`series`:return M(om,{id:e.id,season:e.season});case`vod`:return M(Rm,{kind:e.kind,id:e.id,seriesId:e.seriesId,startMs:e.startMs});case`epgmap`:return M(Um,{channelId:e.channelId});case`homeEdit`:return M(gh,{});case`recordings`:return M(Ph,{});case`extensions`:return M(Mh,{});case`stream`:return M(Rm,{kind:`stream`,id:0,url:e.url,title:e.title});case`stremio`:return M(Nh,{type:e.type,id:e.id})}}function cg(){let e=md.value,t=$h.find(e=>e.id===X.value)||$h[0],n=Wc.value,r=n!==null&&(X.value===`onboarding`||!n.length),i=e.length?e[e.length-1].page:null,a=i&&i.name===`browse`?i:null,o=i&&(i.name===`recordings`||i.name===`extensions`);return M(`div`,{class:`app`,children:[M(Hp,{}),Et.value===!0?n===null?null:r?M(il,{onDone:()=>X.value=`home`,onExit:()=>n.length?X.value=`home`:eg.value=!0}):X.value===`player`?M(Pp,{onExit:xd},dd.value?dd.value.seq:0):M(x,{children:[(!e.length||a||o)&&M(og,{active:o?`library`:a?a.kind===`movie`?`movies`:`series`:void 0}),M(`main`,{style:e.length?{display:`none`}:void 0,class:`content${X.value===`live`||X.value===`guide`?` live-content`:``}${X.value===`movies`||X.value===`series`?` catalog-content`:``}`,"data-focus-group":`screen-${X.value}`,children:X.value===`home`?M(Bd,{providerId:Gc.value}):X.value===`live`?M(Hf,{onOpenPlayer:(e,t)=>bd(e,t)}):X.value===`guide`?M(Qh,{onOpenPlayer:(e,t,n)=>bd(e,t,n),onSearch:()=>X.value=`search`}):X.value===`search`?M(Jh,{}):X.value===`settings`?M(oh,{}):X.value===`movies`?M(Jp,{kind:`movie`,title:z(`nav_movies`),filter:{all:!0}},`movies`):X.value===`series`?M(Jp,{kind:`series`,title:z(`nav_series`),filter:{all:!0}},`series`):X.value===`extensions`?M(Mh,{}):X.value===`recordings`?M(Ph,{}):X.value===`library`?M(Kd,{}):M(Fn,{title:z(t.label)})}),e.map((t,n)=>M(`div`,{class:[`browse`,`recordings`,`extensions`].includes(t.page.name)?`page-flow`:`page`,style:n<e.length-1?{display:`none`}:void 0,children:sg(t.page)},n))]}):Et.value===!1&&M(Pn,{onExit:()=>eg.value=!0}),M(Dn,{}),Xu.value&&M(wn,{title:z(`tz_reminder_title`,Xu.value.title),message:z(`tz_reminder_text`,Xu.value.channelName),confirmLabel:z(`guide_watch`),onConfirm:()=>rg(),onDismiss:()=>Xu.value=null}),eg.value&&M(wn,{title:z(`exit_title`),message:z(`exit_message`),onConfirm:It,onDismiss:()=>eg.value=!1})]})}Ft(),At(),Uc(),wf(document.getElementById(`video`)),rd(),ln(ng),j(M(cg,{}),document.getElementById(`app`)),setTimeout(Jm,15e3),Jc().then(async e=>{new URLSearchParams(location.search),e.length?(Zc(),lg()):X.value=`onboarding`});async function lg(){let e=J.peek().startScreen,t=Gc.peek();if(e===`last`||e===`firstFav`){if(!t)return;let n=await eu(t,{type:e===`last`?`all`:`fav`}),r=e===`last`?n.indexOf(J.peek().lastChannelId||-1):0;n.length&&r>=0&&bd(n,r)}else X.value=e}})();
|